From 425a25abaddb958fb28aee660c930541c19623c7 Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Thu, 19 Jun 2025 11:14:53 +0200
Subject: [PATCH 01/19] feat: Implement article search feature
Adds a new search bar to the top navigation, using a 'Data Socket' pattern with React Context and RTK Query. Includes internationalization support for new UI text and configures the proxy for the standalone backend API.
---
.gitignore | 5 +-
locales/de-global.json5 | 7 +-
locales/en-global.json5 | 10 +-
src/App.tsx | 37 ++++----
src/components/TopBar/ArticleSearchBar.tsx | 104 +++++++++++++++++++++
src/components/TopBar/index.tsx | 7 +-
src/context/ArticleDataContext.tsx | 51 ++++++++++
src/store/ArticleSlice.ts | 41 ++++++++
src/store/index.ts | 6 +-
src/store/services/articleApi.ts | 22 +++++
vite.config.mts | 9 ++
11 files changed, 276 insertions(+), 23 deletions(-)
create mode 100644 src/components/TopBar/ArticleSearchBar.tsx
create mode 100644 src/context/ArticleDataContext.tsx
create mode 100644 src/store/ArticleSlice.ts
create mode 100644 src/store/services/articleApi.ts
diff --git a/.gitignore b/.gitignore
index bb0edca2..eb0efb6d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,5 +14,8 @@ dist
reports
coverage
-.env
+# .env
.eslintcache
+.env
+.venv
+__pycache__/
diff --git a/locales/de-global.json5 b/locales/de-global.json5
index 5d8e2c4d..12831491 100644
--- a/locales/de-global.json5
+++ b/locales/de-global.json5
@@ -119,7 +119,12 @@
today: 'Heute',
more: 'Mehr',
less: 'Weniger',
- search: 'Suche',
+ search: {
+ articles: {
+ placeholder: 'Artikel suchen...',
+ ariaLabel: 'Artikel suchen',
+ },
+ },
germany: 'Deutschland',
WIP: 'Diese Funktionalität befindet sich noch in der Entwicklung.',
'no-data': 'Keine Daten',
diff --git a/locales/en-global.json5 b/locales/en-global.json5
index 0cd58a02..3cd587f9 100644
--- a/locales/en-global.json5
+++ b/locales/en-global.json5
@@ -128,7 +128,12 @@
today: 'Today',
more: 'More',
less: 'Less',
- search: 'Search',
+ search: {
+ articles: {
+ placeholder: 'Search articles...',
+ ariaLabel: 'Search articles',
+ },
+ },
germany: 'Germany',
'no-data': 'No Data',
'loki-logo': 'LOKI logo',
@@ -141,4 +146,7 @@
WIP: 'This functionality is still work in progress.',
okay: 'Okay',
yAxisLabel: 'Value',
+ values: 'Values',
+ name: 'Name',
+ date: 'Date',
}
diff --git a/src/App.tsx b/src/App.tsx
index 9c517aec..d1ff2874 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -23,6 +23,7 @@ import {MUILocalization} from 'components/shared/MUILocalization';
import AuthProvider from './components/AuthProvider';
import BaseDataContext from 'context/BaseDataContext';
+import {ArticleDataProvider} from 'context/ArticleDataContext';
/**
* This is the root element of the React application. It divides the main screen area into the three main components.
* The top bar, the sidebar and the main content area.
@@ -37,24 +38,26 @@ export default function App(): JSX.Element {
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
diff --git a/src/components/TopBar/ArticleSearchBar.tsx b/src/components/TopBar/ArticleSearchBar.tsx
new file mode 100644
index 00000000..73f8457b
--- /dev/null
+++ b/src/components/TopBar/ArticleSearchBar.tsx
@@ -0,0 +1,104 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import React, {useState, SyntheticEvent} from 'react';
+import {useTranslation} from 'react-i18next';
+import {useAppDispatch, useAppSelector} from 'store/hooks';
+import {setArticleSearchQuery} from 'store/ArticleSlice';
+import {useArticleData} from '@/context/ArticleDataContext';
+
+import Container from '@mui/material/Container';
+import Box from '@mui/material/Box';
+import Autocomplete from '@mui/material/Autocomplete';
+import useTheme from '@mui/material/styles/useTheme';
+import SearchIcon from '@mui/icons-material/Search';
+import CircularProgress from '@mui/material/CircularProgress';
+
+import {Article} from 'store/ArticleSlice';
+
+interface ArticleSearchBarProps {
+ selectedArticle: Article | null;
+ onChange: (event: SyntheticEvent, value: Article | null) => void;
+ placeholder?: string;
+}
+
+export default function ArticleSearchBar({selectedArticle, onChange, placeholder}: ArticleSearchBarProps): JSX.Element {
+ const theme = useTheme();
+ const {t} = useTranslation();
+ const dispatch = useAppDispatch();
+ const [open, setOpen] = useState(false);
+
+ // Consume the context to get data and loading state
+ const {articles, isLoading} = useArticleData();
+ const searchQuery = useAppSelector((state) => state.article.searchQuery);
+
+ const handleInputChange = (_event: React.SyntheticEvent, newInputValue: string) => {
+ dispatch(setArticleSearchQuery(newInputValue));
+ };
+
+ return (
+
+
+
+ setOpen(true)}
+ onClose={() => setOpen(false)}
+ value={selectedArticle}
+ onChange={onChange}
+ inputValue={searchQuery}
+ onInputChange={handleInputChange}
+ options={articles}
+ loading={isLoading}
+ getOptionLabel={(option) => option.title}
+ sx={{
+ flexGrow: 1,
+ '& *:focus': {outline: 'none'},
+ }}
+ renderInput={(params) => (
+
+
+ {isLoading && }
+
+ )}
+ />
+
+
+ );
+}
diff --git a/src/components/TopBar/index.tsx b/src/components/TopBar/index.tsx
index b457bd2c..49de74ac 100644
--- a/src/components/TopBar/index.tsx
+++ b/src/components/TopBar/index.tsx
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
import useTheme from '@mui/material/styles/useTheme';
-import React from 'react';
+import React, {useState} from 'react';
import {useTranslation} from 'react-i18next';
import ApplicationMenu from './ApplicationMenu';
import Box from '@mui/material/Box';
@@ -10,6 +10,8 @@ import LanguagePicker from './LanguagePicker';
import RealmSelect from './RealmSelect';
import esidLogo from '../../../assets/logo/logo-200x66.svg';
import InfoButton from '../../components/OnboardingComponents/InfoButton';
+import ArticleSearchBar from '@/components/TopBar/ArticleSearchBar';
+import {Article} from 'store/ArticleSlice';
/**
* This is the top navigation bar of the application. It contains the logo and a burger menu to access settings and
@@ -18,6 +20,7 @@ import InfoButton from '../../components/OnboardingComponents/InfoButton';
export default function TopBar(): JSX.Element {
const {t} = useTranslation();
const theme = useTheme();
+ const [selectedArticle, setSelectedArticle] = useState(null);
return (
-
+ setSelectedArticle(value)} />
diff --git a/src/context/ArticleDataContext.tsx b/src/context/ArticleDataContext.tsx
new file mode 100644
index 00000000..302721b4
--- /dev/null
+++ b/src/context/ArticleDataContext.tsx
@@ -0,0 +1,51 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import React, { createContext, useContext, useEffect, ReactNode } from 'react';
+import { useAppDispatch, useAppSelector } from 'store/hooks';
+import { useLazySearchArticlesQuery } from 'store/services/articleApi';
+import { setArticles, Article } from 'store/ArticleSlice';
+
+interface ArticleDataContextType {
+ articles: Article[];
+ isLoading: boolean;
+}
+
+const ArticleDataContext = createContext(undefined);
+
+export const ArticleDataProvider: React.FC<{ children: ReactNode }> = ({ children }) => {
+ const dispatch = useAppDispatch();
+ const searchQuery = useAppSelector((state) => state.article.searchQuery);
+ const articles = useAppSelector((state) => state.article.articles);
+
+ const [triggerSearch, { data: searchResults, isLoading }] = useLazySearchArticlesQuery();
+
+ useEffect(() => {
+ if (searchQuery) {
+ void triggerSearch(searchQuery);
+ } else {
+ dispatch(setArticles([]));
+ }
+ }, [searchQuery, triggerSearch, dispatch]);
+
+ useEffect(() => {
+ if (searchResults) {
+ dispatch(setArticles(searchResults));
+ }
+ }, [searchResults, dispatch]);
+
+ const value = {
+ articles,
+ isLoading,
+ };
+
+ return {children};
+};
+
+export const useArticleData = (): ArticleDataContextType => {
+ const context = useContext(ArticleDataContext);
+ if (context === undefined) {
+ throw new Error('useArticleData must be used within an ArticleDataProvider');
+ }
+ return context;
+};
diff --git a/src/store/ArticleSlice.ts b/src/store/ArticleSlice.ts
new file mode 100644
index 00000000..1a2dc0ed
--- /dev/null
+++ b/src/store/ArticleSlice.ts
@@ -0,0 +1,41 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import {createSlice, PayloadAction} from '@reduxjs/toolkit';
+
+export interface Article {
+ id: number;
+ filename: string;
+ title: string;
+ author?: string;
+ organization?: string;
+ year_published?: number;
+ keywords?: string;
+ file_path: string;
+}
+
+export interface ArticleState {
+ searchQuery: string;
+ articles: Article[];
+}
+
+const initialState: ArticleState = {
+ searchQuery: '',
+ articles: [],
+};
+
+export const ArticleSlice = createSlice({
+ name: 'article',
+ initialState,
+ reducers: {
+ setArticleSearchQuery(state, action: PayloadAction) {
+ state.searchQuery = action.payload;
+ },
+ setArticles(state, action: PayloadAction) {
+ state.articles = action.payload;
+ },
+ },
+});
+
+export const {setArticleSearchQuery, setArticles} = ArticleSlice.actions;
+export default ArticleSlice.reducer;
diff --git a/src/store/index.ts b/src/store/index.ts
index 8dd4e061..b08a8979 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -13,6 +13,8 @@ import AuthReducer from './AuthSlice';
import UserOnboardingReducer from './UserOnboardingSlice';
import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
import {idpApi} from './services/idpApi';
+import ArticleReducer from './ArticleSlice';
+import {articleApi} from './services/articleApi';
const persistConfig = {
key: 'root',
@@ -28,8 +30,10 @@ const rootReducer = combineReducers({
userOnboarding: UserOnboardingReducer,
realm: RealmReducer,
auth: AuthReducer,
+ article: ArticleReducer,
[scenarioApi.reducerPath]: scenarioApi.reducer,
[idpApi.reducerPath]: idpApi.reducer,
+ [articleApi.reducerPath]: articleApi.reducer,
});
const persistedReducer = persistReducer(
@@ -44,7 +48,7 @@ export const Store = configureStore({
serializableCheck: {
ignoredActions: ['persist/PERSIST'],
},
- }).concat(scenarioApi.middleware, idpApi.middleware),
+ }).concat(scenarioApi.middleware, idpApi.middleware, articleApi.middleware),
});
export const Persistor = persistStore(Store);
diff --git a/src/store/services/articleApi.ts b/src/store/services/articleApi.ts
new file mode 100644
index 00000000..56c3d2d9
--- /dev/null
+++ b/src/store/services/articleApi.ts
@@ -0,0 +1,22 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import {createApi, fetchBaseQuery} from '@reduxjs/toolkit/query/react';
+import {Article} from 'store/ArticleSlice';
+
+export const articleApi = createApi({
+ reducerPath: 'articleApi',
+ // Point to our new backend API.
+ // The '/api' prefix will be handled by the Vite proxy in development.
+ baseQuery: fetchBaseQuery({baseUrl: '/api'}),
+ endpoints: (build) => ({
+ searchArticles: build.query({
+ // The query parameter is now 'search', matching our FastAPI endpoint.
+ query: (searchQuery) => `articles?search=${searchQuery}`,
+ // No need for a transformResponse, as our API now returns data
+ // in the exact format the frontend expects.
+ }),
+ }),
+});
+
+export const {useLazySearchArticlesQuery} = articleApi;
diff --git a/vite.config.mts b/vite.config.mts
index ad117a35..69754b7a 100644
--- a/vite.config.mts
+++ b/vite.config.mts
@@ -77,5 +77,14 @@ export default defineConfig(() => {
},
},
},
+ server: {
+ // Proxy API [Articles search api] requests to the backend server in development
+ proxy: {
+ '/api': {
+ target: 'http://127.0.0.1:8001',
+ changeOrigin: true,
+ },
+ },
+ },
};
});
From 7f3760d9aac46fcd556619ef57afefecb73723cd Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Tue, 24 Jun 2025 10:32:02 +0200
Subject: [PATCH 02/19] feat(search): implement semantic search frontend
(iteration 2)
This commit establishes the foundational frontend architecture for the semantic search feature. It represents the second iteration of development, focusing on building out the UI components and data flow in preparation for backend integration.
- Implements SemanticSearchContext for managing state and API interactions.
- Integrates the main SemanticSearchContainer within the existing TopBarPopover.
- Adds placeholder components, TypeScript types, and a Redux slice.
- Includes internationalization keys for all new user-facing text.
---
locales/de-global.json5 | 131 ++++++++++++++-
locales/en-global.json5 | 128 ++++++++++++++-
package-lock.json | 44 ++---
.../SemanticSearch/ArticleDialog.tsx | 69 ++++++++
.../SemanticSearch/QuerySuggestions.tsx | 48 ++++++
.../SemanticSearch/SearchResultItem.tsx | 114 +++++++++++++
.../SemanticSearch/SearchResultsList.tsx | 25 +++
.../SemanticSearchContainer.tsx | 151 ++++++++++++++++++
.../OnboardingComponents/TopBarPopover.tsx | 9 +-
src/context/ArticleDataContext.tsx | 12 +-
src/context/SemanticSearchContext.tsx | 108 +++++++++++++
src/store/SemanticSearchSlice.ts | 35 ++++
src/store/index.ts | 2 +
src/store/services/articleApi.ts | 5 +-
src/types/semanticSearch.ts | 23 +++
15 files changed, 874 insertions(+), 30 deletions(-)
create mode 100644 src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
create mode 100644 src/components/OnboardingComponents/SemanticSearch/QuerySuggestions.tsx
create mode 100644 src/components/OnboardingComponents/SemanticSearch/SearchResultItem.tsx
create mode 100644 src/components/OnboardingComponents/SemanticSearch/SearchResultsList.tsx
create mode 100644 src/components/OnboardingComponents/SemanticSearch/SemanticSearchContainer.tsx
create mode 100644 src/context/SemanticSearchContext.tsx
create mode 100644 src/store/SemanticSearchSlice.ts
create mode 100644 src/types/semanticSearch.ts
diff --git a/locales/de-global.json5 b/locales/de-global.json5
index 12831491..ae013174 100644
--- a/locales/de-global.json5
+++ b/locales/de-global.json5
@@ -19,6 +19,18 @@
attribution: 'Attribution',
changelog: 'Versionshistorie',
},
+ applicationMenu: {
+ about: 'Über ESID',
+ accessibility: 'Barrierefreiheit',
+ changelog: 'Änderungsprotokoll',
+ imprint: 'Impressum',
+ privacyPolicy: 'Datenschutzerklärung',
+ termsOfUse: 'Nutzungsbedingungen',
+ },
+ scenarioSelector: {
+ label: 'Szenario',
+ },
+ tour: 'Tour',
},
'icon-bar': {
'previous-day-tooltip': 'Vorheriger Tag',
@@ -28,6 +40,7 @@
},
history: {
placeholder: 'history',
+ title: 'Verlauf',
},
BEZ: {
K: 'Kreis',
@@ -122,7 +135,7 @@
search: {
articles: {
placeholder: 'Artikel suchen...',
- ariaLabel: 'Artikel suchen',
+ ariaLabel: 'Suchen Sie nach Artikeln und Dokumentationen',
},
},
germany: 'Deutschland',
@@ -131,4 +144,120 @@
'loki-logo': 'LOKI-Logo',
okay: 'Okay',
yAxisLabel: 'Wert',
+ semanticSearch: {
+ title: 'Semantische Suche',
+ description: 'Stellen Sie Fragen zu den Daten, Modellen oder Funktionen, um relevante Dokumentationen und Artikel zu finden.',
+ placeholder: 'Geben Sie eine Frage für die Suche ein...',
+ suggestions: {
+ title: 'Oder versuchen Sie eine dieser Optionen:',
+ flood: 'Welche Regionen sind am stärksten von den Überschwemmungen 2021 betroffen?',
+ calibration: 'Wie wird das Modell kalibriert?',
+ heatwave: 'Was ist das Szenario für eine intensive Hitzewelle?',
+ },
+ results: {
+ initialPrompt: 'Geben Sie eine Frage ein, um nach relevanten Artikeln und Dokumentationen zu suchen.',
+ noResults: 'Keine Ergebnisse gefunden. Versuchen Sie, Ihre Frage umzuformulieren oder andere Schlüsselwörter zu verwenden.',
+ resultsFound_one: '1 Ergebnis gefunden für',
+ resultsFound_other: '{{count}} Ergebnisse gefunden für',
+ },
+ classification: {
+ direct: 'Direkte Antwort',
+ high: 'Hohe Relevanz',
+ related: 'Verwandt',
+ },
+ },
+ language: 'Sprache',
+ legal: {
+ attributions: 'Namensnennung',
+ },
+ scenarios: {
+ cards: {
+ cases: 'Fälle',
+ hospitalization: 'Krankenhausaufnahme',
+ intensiveCare: 'Intensivpflege',
+ death: 'Todesfälle',
+ rValue: 'R-Wert',
+ doublingTime: 'Verdopplungszeit',
+ attackRate: 'Befallsrate',
+ },
+ },
+ groups: {
+ title: 'Filter',
+ addGroup: 'Gruppe hinzufügen',
+ manageGroups: 'Gruppen verwalten',
+ noGroups: 'Keine Gruppen definiert.',
+ groupName: {
+ label: 'Gruppenname',
+ alreadyExists: 'Eine Gruppe mit diesem Namen existiert bereits.',
+ cannotBeEmpty: 'Der Gruppenname darf nicht leer sein.',
+ },
+ options: {
+ delete: 'Löschen',
+ edit: 'Bearbeiten',
+ },
+ },
+ compartments: {
+ title: 'Kompartimente',
+ S: 'Suszeptible',
+ E: 'Exponiert',
+ I: 'Infiziert',
+ R: 'Genesen',
+ H: 'Hospitalisiert',
+ U: 'Intensivpflege',
+ D: 'Verstorben',
+ X: 'Geimpft',
+ V: 'Geimpft (geschützt)',
+ W: 'Geimpft (nachlassend)',
+ },
+ lineChart: {
+ title: 'Liniendiagramm',
+ showConfidence: 'Konfidenzintervalle anzeigen',
+ logScale: 'Logarithmische Skala',
+ sum: 'Summe',
+ yAxis: 'Wert',
+ },
+ map: {
+ title: 'Karte',
+ legendTitle: 'Fälle pro 100k',
+ incidences: {
+ total: 'Gesamt',
+ per100k: 'pro 100k',
+ per100kIn7Days: '7-Tage-Inzidenz pro 100k',
+ },
+ },
+ parameter: {
+ title: 'Parameter',
+ compartment: 'Kompartiment',
+ reset: 'Auf Standardwert zurücksetzen',
+ r0: 'Basisreproduktionszahl (R0)',
+ },
+ history: {
+ title: 'Verlauf',
+ },
+ semanticSearch: {
+ title: 'Semantische Suche',
+ description: 'Stellen Sie Fragen zu den Daten, Modellen oder Funktionen, um relevante Dokumentationen und Artikel zu finden.',
+ placeholder: 'Geben Sie eine Frage für die Suche ein...',
+ suggestions: {
+ title: 'Oder versuchen Sie eine dieser Optionen:',
+ flood: 'Welche Regionen sind am stärksten von den Überschwemmungen 2021 betroffen?',
+ calibration: 'Wie wird das Modell kalibriert?',
+ heatwave: 'Was ist das Szenario für eine intensive Hitzewelle?',
+ },
+ results: {
+ initialPrompt: 'Geben Sie eine Frage ein, um nach relevanten Artikeln und Dokumentationen zu suchen.',
+ noResults: 'Keine Ergebnisse gefunden. Versuchen Sie, Ihre Frage umzuformulieren oder andere Schlüsselwörter zu verwenden.',
+ resultsFound_one: '1 Ergebnis gefunden für',
+ resultsFound_other: '{{count}} Ergebnisse gefunden für',
+ },
+ classification: {
+ direct: 'Direkte Antwort',
+ high: 'Hohe Relevanz',
+ related: 'Verwandt',
+ },
+ },
+ language: 'Sprache',
+ legal: {
+ attributions: 'Namensnennung',
+ },
}
diff --git a/locales/en-global.json5 b/locales/en-global.json5
index 3cd587f9..023dc502 100644
--- a/locales/en-global.json5
+++ b/locales/en-global.json5
@@ -19,6 +19,18 @@
attribution: 'Attribution',
changelog: 'Changelog',
},
+ applicationMenu: {
+ about: 'About ESID',
+ accessibility: 'Accessibility',
+ changelog: 'Changelog',
+ imprint: 'Imprint',
+ privacyPolicy: 'Privacy Policy',
+ termsOfUse: 'Terms of Use',
+ },
+ scenarioSelector: {
+ label: 'Scenario',
+ },
+ tour: 'Tour',
},
'icon-bar': {
'previous-day-tooltip': 'Previous Day',
@@ -34,6 +46,7 @@
},
history: {
Tabtitle: 'history',
+ title: 'History',
},
details: {
Tabtitle: 'Details',
@@ -131,7 +144,7 @@
search: {
articles: {
placeholder: 'Search articles...',
- ariaLabel: 'Search articles',
+ ariaLabel: 'Search for articles and documentation',
},
},
germany: 'Germany',
@@ -149,4 +162,117 @@
values: 'Values',
name: 'Name',
date: 'Date',
+ semanticSearch: {
+ title: 'Semantic Search',
+ description: 'Ask questions about the data, models, or functionality to find relevant documentation and articles.',
+ placeholder: 'Enter a question to search...',
+ suggestions: {
+ title: 'Or try one of these:',
+ flood: 'What are the most affected regions by the 2021 floods?',
+ calibration: 'How is the model calibrated?',
+ heatwave: 'What is the scenario for an intense heatwave?',
+ },
+ results: {
+ initialPrompt: 'Enter a question to search for relevant articles and documentation.',
+ noResults: 'No results found. Try rephrasing your question or using different keywords.',
+ resultsFound_one: 'Found 1 result for',
+ resultsFound_other: 'Found {{count}} results for',
+ },
+ classification: {
+ direct: 'Direct Answer',
+ high: 'High Relevance',
+ related: 'Related',
+ },
+ },
+ language: 'Language',
+ legal: {
+ attributions: 'Attributions',
+ },
+ scenarios: {
+ cards: {
+ cases: 'Cases',
+ hospitalization: 'Hospitalization',
+ intensiveCare: 'Intensive Care',
+ death: 'Deaths',
+ rValue: 'R-Value',
+ doublingTime: 'Doubling Time',
+ attackRate: 'Attack Rate',
+ },
+ },
+ groups: {
+ title: 'Filter',
+ addGroup: 'Add Group',
+ manageGroups: 'Manage Groups',
+ noGroups: 'No Groups defined.',
+ groupName: {
+ label: 'Group Name',
+ alreadyExists: 'A group with this name already exists.',
+ cannotBeEmpty: 'The group name cannot be empty.',
+ },
+ options: {
+ delete: 'Delete',
+ edit: 'Edit',
+ },
+ },
+ compartments: {
+ title: 'Compartments',
+ S: 'Susceptible',
+ E: 'Exposed',
+ I: 'Infected',
+ R: 'Recovered',
+ H: 'Hospitalized',
+ U: 'Intensive Care',
+ D: 'Dead',
+ X: 'Vaccinated',
+ V: 'Vaccinated (protected)',
+ W: 'Vaccinated (waned)',
+ },
+ lineChart: {
+ title: 'Line Chart',
+ showConfidence: 'Show confidence intervals',
+ logScale: 'Logarithmic Scale',
+ sum: 'Sum',
+ yAxis: 'Value',
+ },
+ map: {
+ title: 'Map',
+ legendTitle: 'Cases per 100k',
+ incidences: {
+ total: 'Total',
+ per100k: 'per 100k',
+ per100kIn7Days: '7-day-incidence per 100k',
+ },
+ },
+ parameter: {
+ title: 'Parameters',
+ compartment: 'Compartment',
+ reset: 'Reset to default value',
+ r0: 'Basic Reproduction Number (R0)',
+ },
+ semanticSearch: {
+ title: 'Semantic Search',
+ description: 'Ask questions about the data, models, or functionality to find relevant documentation and articles.',
+ placeholder: 'Enter a question to search...',
+ suggestions: {
+ title: 'Or try one of these:',
+ flood: 'What are the most affected regions by the 2021 floods?',
+ calibration: 'How is the model calibrated?',
+ heatwave: 'What is the scenario for an intense heatwave?',
+ },
+ results: {
+ initialPrompt: 'Enter a question to search for relevant articles and documentation.',
+ noResults: 'No results found. Try rephrasing your question or using different keywords.',
+ resultsFound_one: 'Found 1 result for',
+ resultsFound_other: 'Found {{count}} results for',
+ },
+ classification: {
+ direct: 'Direct Answer',
+ high: 'High Relevance',
+ related: 'Related',
+ },
+ },
+ language: 'Language',
+ legal: {
+ attributions: 'Attributions',
+ },
}
diff --git a/package-lock.json b/package-lock.json
index 151d3b25..c0e060b9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,7 +18,6 @@
"@mui/system": "^5.15.0",
"@mui/x-date-pickers": "^6.20.0",
"@reduxjs/toolkit": "^2.0.1",
- "@types/geojson": "^7946.0.13",
"country-flag-icons": "^1.5.9",
"dayjs": "^1.11.10",
"i18next": "^23.7.10",
@@ -49,6 +48,7 @@
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/country-flag-icons": "^1.2.2",
+ "@types/geojson": "^7946.0.13",
"@types/node-fetch": "^2.6.9",
"@types/react": "^18.2.45",
"@types/react-dom": "^18.2.17",
@@ -1216,10 +1216,11 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -1386,10 +1387,11 @@
}
},
"node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -4008,10 +4010,11 @@
}
},
"node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
@@ -5656,10 +5659,11 @@
}
},
"node_modules/eslint-plugin-react/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -5762,10 +5766,11 @@
}
},
"node_modules/eslint/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -6394,10 +6399,11 @@
}
},
"node_modules/glob/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
diff --git a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
new file mode 100644
index 00000000..45c29c2b
--- /dev/null
+++ b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
@@ -0,0 +1,69 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import React from 'react';
+import {Dialog, DialogTitle, DialogContent, DialogContentText, IconButton, Typography, Box} from '@mui/material';
+import CloseIcon from '@mui/icons-material/Close';
+import {SearchResult} from 'types/semanticSearch';
+
+interface ArticleDialogProps {
+ open: boolean;
+ onClose: () => void;
+ article: SearchResult | null;
+}
+
+/**
+ * A dialog component to display the full content of a selected search result article.
+ */
+export default function ArticleDialog({open, onClose, article}: ArticleDialogProps): JSX.Element {
+ if (!article) {
+ return <>>;
+ }
+
+ return (
+
+ );
+}
diff --git a/src/components/OnboardingComponents/SemanticSearch/QuerySuggestions.tsx b/src/components/OnboardingComponents/SemanticSearch/QuerySuggestions.tsx
new file mode 100644
index 00000000..5785f3c0
--- /dev/null
+++ b/src/components/OnboardingComponents/SemanticSearch/QuerySuggestions.tsx
@@ -0,0 +1,48 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import React from 'react';
+import {Box, Chip, Typography} from '@mui/material';
+import {useTranslation} from 'react-i18next';
+
+interface QuerySuggestionsProps {
+ /** A list of suggestion strings to display. */
+ suggestions: string[];
+ /** The function to call when a suggestion chip is clicked. */
+ onSuggestionClick: (query: string) => void;
+}
+
+/**
+ * A component that displays a list of clickable query suggestion chips.
+ */
+export default function QuerySuggestions({suggestions, onSuggestionClick}: QuerySuggestionsProps): JSX.Element {
+ const {t} = useTranslation('global');
+
+ return (
+
+
+ {t('semanticSearch.suggestions.title')}
+
+
+ {suggestions.map((suggestion) => (
+ onSuggestionClick(suggestion)}
+ variant='outlined'
+ size='small'
+ sx={{
+ cursor: 'pointer',
+ borderColor: 'primary.light',
+ color: 'primary.main',
+ '&:hover': {
+ backgroundColor: 'primary.main_10', // Assuming a 10% opacity color from your theme
+ borderColor: 'primary.main',
+ },
+ }}
+ />
+ ))}
+
+
+ );
+}
diff --git a/src/components/OnboardingComponents/SemanticSearch/SearchResultItem.tsx b/src/components/OnboardingComponents/SemanticSearch/SearchResultItem.tsx
new file mode 100644
index 00000000..664003ff
--- /dev/null
+++ b/src/components/OnboardingComponents/SemanticSearch/SearchResultItem.tsx
@@ -0,0 +1,114 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import React from 'react';
+import {Box, Chip, Paper, Typography, useTheme} from '@mui/material';
+import {SearchResult} from 'types/semanticSearch';
+import {useTranslation} from 'react-i18next';
+
+interface SearchResultItemProps {
+ result: SearchResult;
+ onResultClick: (result: SearchResult) => void;
+}
+
+/**
+ * A component that displays a single, styled search result item,
+ * including title, snippet, relevance score, and classification tags.
+ */
+export default function SearchResultItem({result, onResultClick}: SearchResultItemProps): JSX.Element {
+ const theme = useTheme();
+ const {t} = useTranslation('global');
+
+ const classificationStyles = {
+ direct: {
+ backgroundColor: 'rgba(76, 175, 80, 0.1)',
+ color: '#2e7d32',
+ borderColor: 'rgba(76, 175, 80, 0.3)',
+ },
+ high: {
+ backgroundColor: 'rgba(33, 150, 243, 0.1)',
+ color: theme.palette.info.dark,
+ borderColor: 'rgba(33, 150, 243, 0.3)',
+ },
+ related: {
+ backgroundColor: 'rgba(158, 158, 158, 0.1)',
+ color: theme.palette.text.secondary,
+ borderColor: 'rgba(158, 158, 158, 0.3)',
+ },
+ };
+
+ const classificationText = {
+ direct: t('semanticSearch.classification.direct'),
+ high: t('semanticSearch.classification.high'),
+ related: t('semanticSearch.classification.related'),
+ };
+
+ return (
+ onResultClick(result)}
+ elevation={1}
+ sx={{
+ p: 2,
+ mb: 2,
+ cursor: 'pointer',
+ border: '1px solid',
+ borderColor: 'divider',
+ '&:hover': {
+ borderColor: 'primary.main',
+ boxShadow: '0 2px 8px rgba(84, 60, 240, 0.1)',
+ },
+ }}
+ >
+
+
+ {result.title}
+
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
+ magna aliqua.
+
+
+
+
+ {result.keywords?.split(',').map((tag) => (
+
+ ))}
+
+
+
+
+ );
+}
diff --git a/src/components/OnboardingComponents/SemanticSearch/SearchResultsList.tsx b/src/components/OnboardingComponents/SemanticSearch/SearchResultsList.tsx
new file mode 100644
index 00000000..7e8ee404
--- /dev/null
+++ b/src/components/OnboardingComponents/SemanticSearch/SearchResultsList.tsx
@@ -0,0 +1,25 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import React from 'react';
+import {Box} from '@mui/material';
+import {SearchResult} from 'types/semanticSearch';
+import SearchResultItem from './SearchResultItem';
+
+interface SearchResultsListProps {
+ results: SearchResult[];
+ onResultClick: (result: SearchResult) => void;
+}
+
+/**
+ * Renders a list of search result items.
+ */
+export default function SearchResultsList({results, onResultClick}: SearchResultsListProps): JSX.Element {
+ return (
+
+ {results.map((result, index) => (
+
+ ))}
+
+ );
+}
diff --git a/src/components/OnboardingComponents/SemanticSearch/SemanticSearchContainer.tsx b/src/components/OnboardingComponents/SemanticSearch/SemanticSearchContainer.tsx
new file mode 100644
index 00000000..73f5f320
--- /dev/null
+++ b/src/components/OnboardingComponents/SemanticSearch/SemanticSearchContainer.tsx
@@ -0,0 +1,151 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import React, {useState} from 'react';
+import {Box, Typography, Divider, TextField, IconButton, InputAdornment, CircularProgress} from '@mui/material';
+import {useSemanticSearch} from 'context/SemanticSearchContext';
+import QuerySuggestions from './QuerySuggestions';
+import {useTranslation} from 'react-i18next';
+import SearchIcon from '@mui/icons-material/Search';
+import {useAppDispatch, useAppSelector} from 'store/hooks';
+import {setSemanticSearchQuery} from 'store/SemanticSearchSlice';
+import SearchResultsList from './SearchResultsList';
+import ArticleDialog from './ArticleDialog';
+import {SearchResult} from 'types/semanticSearch';
+
+/**
+ * Main container for the Semantic Search feature.
+ * It will manage the search state and orchestrate the child components.
+ */
+export default function SemanticSearchContainer(): JSX.Element {
+ const {searchResults, isLoading, performSearch, clearSearch} = useSemanticSearch();
+ const dispatch = useAppDispatch();
+ const query = useAppSelector((state) => state.semanticSearch.searchQuery);
+ const searchStatus = useAppSelector((state) => state.semanticSearch.searchStatus);
+ const {t} = useTranslation('global');
+ const [selectedArticle, setSelectedArticle] = useState(null);
+
+ const suggestions = [
+ t('semanticSearch.suggestions.flood'),
+ t('semanticSearch.suggestions.calibration'),
+ t('semanticSearch.suggestions.heatwave'),
+ ];
+
+ const handleSearch = () => {
+ performSearch(query);
+ };
+
+ const handleClear = () => {
+ dispatch(setSemanticSearchQuery(''));
+ clearSearch();
+ };
+
+ const handleSuggestionClick = (suggestion: string) => {
+ dispatch(setSemanticSearchQuery(suggestion));
+ performSearch(suggestion);
+ };
+
+ const handleResultClick = (article: SearchResult) => {
+ setSelectedArticle(article);
+ };
+
+ const handleCloseDialog = () => {
+ setSelectedArticle(null);
+ };
+
+ return (
+
+
+
+ {t('semanticSearch.title')}
+
+
+ {t('semanticSearch.description')}
+
+
+ dispatch(setSemanticSearchQuery(e.target.value))}
+ onKeyDown={(e) => {
+ if (e.key === 'Enter') {
+ handleSearch();
+ } else if (e.key === 'Escape') {
+ handleClear();
+ }
+ }}
+ InputProps={{
+ sx: {
+ paddingRight: '4px',
+ },
+ endAdornment: (
+
+
+ {isLoading ? : }
+
+
+ ),
+ }}
+ />
+
+
+
+
+ {searchResults.length > 0 && (
+
+ {t(
+ searchResults.length === 1
+ ? 'semanticSearch.results.resultsFound_one'
+ : 'semanticSearch.results.resultsFound_other',
+ {count: searchResults.length}
+ )}{' '}
+ "
+
+ {query}
+
+ "
+
+ )}
+ {isLoading ? (
+
+
+
+ ) : searchResults.length > 0 ? (
+
+ ) : searchStatus === 'succeeded' ? (
+
+ {t('semanticSearch.results.noResults')}
+
+ ) : null}
+
+
+
+
+ );
+}
diff --git a/src/components/OnboardingComponents/TopBarPopover.tsx b/src/components/OnboardingComponents/TopBarPopover.tsx
index f8ff0a0b..e44f3149 100644
--- a/src/components/OnboardingComponents/TopBarPopover.tsx
+++ b/src/components/OnboardingComponents/TopBarPopover.tsx
@@ -10,6 +10,8 @@ import CloseIcon from '@mui/icons-material/Close';
import {useTranslation} from 'react-i18next';
import TourChipsList from './TourComponents/TourChipsList';
import LinearProgress from '@mui/material/LinearProgress';
+import SemanticSearchContainer from './SemanticSearch/SemanticSearchContainer';
+import {SemanticSearchProvider} from 'context/SemanticSearchContext';
interface TopBarPopoverProps {
/** The anchor element for the popover */
@@ -57,7 +59,7 @@ export default function TopBarPopover(props: TopBarPopoverProps): JSX.Element {
}}
sx={{
'& .MuiPopover-paper': {
- width: 600,
+ width: 700,
},
}}
>
@@ -70,7 +72,7 @@ export default function TopBarPopover(props: TopBarPopoverProps): JSX.Element {
+
+
+
);
diff --git a/src/context/ArticleDataContext.tsx b/src/context/ArticleDataContext.tsx
index 302721b4..fc318810 100644
--- a/src/context/ArticleDataContext.tsx
+++ b/src/context/ArticleDataContext.tsx
@@ -1,10 +1,10 @@
// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
// SPDX-License-Identifier: Apache-2.0
-import React, { createContext, useContext, useEffect, ReactNode } from 'react';
-import { useAppDispatch, useAppSelector } from 'store/hooks';
-import { useLazySearchArticlesQuery } from 'store/services/articleApi';
-import { setArticles, Article } from 'store/ArticleSlice';
+import React, {createContext, useContext, useEffect, ReactNode} from 'react';
+import {useAppDispatch, useAppSelector} from 'store/hooks';
+import {useLazySearchArticlesQuery} from 'store/services/articleApi';
+import {setArticles, Article} from 'store/ArticleSlice';
interface ArticleDataContextType {
articles: Article[];
@@ -13,12 +13,12 @@ interface ArticleDataContextType {
const ArticleDataContext = createContext(undefined);
-export const ArticleDataProvider: React.FC<{ children: ReactNode }> = ({ children }) => {
+export const ArticleDataProvider: React.FC<{children: ReactNode}> = ({children}) => {
const dispatch = useAppDispatch();
const searchQuery = useAppSelector((state) => state.article.searchQuery);
const articles = useAppSelector((state) => state.article.articles);
- const [triggerSearch, { data: searchResults, isLoading }] = useLazySearchArticlesQuery();
+ const [triggerSearch, {data: searchResults, isLoading}] = useLazySearchArticlesQuery();
useEffect(() => {
if (searchQuery) {
diff --git a/src/context/SemanticSearchContext.tsx b/src/context/SemanticSearchContext.tsx
new file mode 100644
index 00000000..7425e451
--- /dev/null
+++ b/src/context/SemanticSearchContext.tsx
@@ -0,0 +1,108 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import React, {createContext, useContext, useState, useMemo, useCallback} from 'react';
+import {useLazySearchArticlesQuery} from 'store/services/articleApi';
+import {SearchResult, SemanticSearchContextType} from 'types/semanticSearch';
+import {Article} from 'store/ArticleSlice';
+import {useAppDispatch, useAppSelector} from 'store/hooks';
+import {setSemanticSearchStatus, resetSemanticSearch} from 'store/SemanticSearchSlice';
+
+const SemanticSearchContext = createContext(undefined);
+
+interface SemanticSearchProviderProps {
+ children: React.ReactNode;
+}
+
+/**
+ * Provides a "Data Socket" for the semantic search feature.
+ * It uses the existing lazy query to fetch articles on-demand and then
+ * simulates the semantic search results on the client-side.
+ */
+export function SemanticSearchProvider({children}: SemanticSearchProviderProps) {
+ const [triggerSearch, {isLoading}] = useLazySearchArticlesQuery();
+ const [augmentedResults, setAugmentedResults] = useState([]);
+ const dispatch = useAppDispatch();
+
+ const searchStatus = useAppSelector((state) => state.semanticSearch.searchStatus);
+
+ const performSearch = useCallback(
+ (query: string) => {
+ if (!query || query.trim() === '') {
+ setAugmentedResults([]);
+ dispatch(setSemanticSearchStatus('idle'));
+ return;
+ }
+
+ dispatch(setSemanticSearchStatus('loading'));
+ setTimeout(() => {
+ triggerSearch(query)
+ .unwrap()
+ .then((fetchedArticles) => {
+ const lowerCaseQuery = query.toLowerCase();
+ const queryTerms = lowerCaseQuery.split(' ').filter((term) => term.length > 2);
+
+ const newResults: SearchResult[] = fetchedArticles.map((article: Article) => {
+ let relevanceScore = Math.floor(Math.random() * 40) + 60;
+ if (article.title.toLowerCase().includes(lowerCaseQuery)) {
+ relevanceScore = Math.min(99, relevanceScore + 15);
+ }
+
+ let classification: 'direct' | 'high' | 'related';
+ if (relevanceScore >= 90) {
+ classification = 'direct';
+ } else if (relevanceScore >= 80) {
+ classification = 'high';
+ } else {
+ classification = 'related';
+ }
+
+ return {
+ ...article,
+ relevanceScore,
+ classification,
+ highlightTerms: queryTerms,
+ };
+ });
+
+ newResults.sort((a, b) => b.relevanceScore - a.relevanceScore);
+ setAugmentedResults(newResults);
+ dispatch(setSemanticSearchStatus('succeeded'));
+ })
+ .catch((err) => {
+ console.error('Semantic search failed:', err);
+ dispatch(setSemanticSearchStatus('idle'));
+ });
+ }, 0);
+ },
+ [dispatch, triggerSearch]
+ );
+
+ const clearSearch = useCallback(() => {
+ dispatch(resetSemanticSearch());
+ setAugmentedResults([]);
+ }, [dispatch]);
+
+ const value = useMemo(
+ () => ({
+ searchResults: augmentedResults,
+ isLoading: searchStatus === 'loading' || isLoading,
+ performSearch,
+ clearSearch,
+ }),
+ [augmentedResults, searchStatus, isLoading, performSearch, clearSearch]
+ );
+
+ return {children};
+}
+
+/**
+ * Custom hook to easily access the Semantic Search context.
+ */
+export function useSemanticSearch(): SemanticSearchContextType {
+ const context = useContext(SemanticSearchContext);
+ if (context === undefined) {
+ throw new Error('useSemanticSearch must be used within a SemanticSearchProvider');
+ }
+ return context;
+}
diff --git a/src/store/SemanticSearchSlice.ts b/src/store/SemanticSearchSlice.ts
new file mode 100644
index 00000000..e5d63e7c
--- /dev/null
+++ b/src/store/SemanticSearchSlice.ts
@@ -0,0 +1,35 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import {createSlice, PayloadAction} from '@reduxjs/toolkit';
+
+/** The status of the semantic search, to distinguish between initial, loading, and completed states. */
+export type SearchStatus = 'idle' | 'loading' | 'succeeded';
+
+interface SemanticSearchState {
+ searchQuery: string;
+ searchStatus: SearchStatus;
+}
+
+const initialState: SemanticSearchState = {
+ searchQuery: '',
+ searchStatus: 'idle',
+};
+
+const semanticSearchSlice = createSlice({
+ name: 'semanticSearch',
+ initialState,
+ reducers: {
+ setSemanticSearchQuery: (state, action: PayloadAction) => {
+ state.searchQuery = action.payload;
+ },
+ setSemanticSearchStatus: (state, action: PayloadAction) => {
+ state.searchStatus = action.payload;
+ },
+ resetSemanticSearch: () => initialState,
+ },
+});
+
+export const {setSemanticSearchQuery, setSemanticSearchStatus, resetSemanticSearch} = semanticSearchSlice.actions;
+
+export default semanticSearchSlice.reducer;
diff --git a/src/store/index.ts b/src/store/index.ts
index b08a8979..74f78f99 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -15,6 +15,7 @@ import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
import {idpApi} from './services/idpApi';
import ArticleReducer from './ArticleSlice';
import {articleApi} from './services/articleApi';
+import SemanticSearchReducer from './SemanticSearchSlice';
const persistConfig = {
key: 'root',
@@ -31,6 +32,7 @@ const rootReducer = combineReducers({
realm: RealmReducer,
auth: AuthReducer,
article: ArticleReducer,
+ semanticSearch: SemanticSearchReducer,
[scenarioApi.reducerPath]: scenarioApi.reducer,
[idpApi.reducerPath]: idpApi.reducer,
[articleApi.reducerPath]: articleApi.reducer,
diff --git a/src/store/services/articleApi.ts b/src/store/services/articleApi.ts
index 56c3d2d9..11ae41e5 100644
--- a/src/store/services/articleApi.ts
+++ b/src/store/services/articleApi.ts
@@ -10,6 +10,9 @@ export const articleApi = createApi({
// The '/api' prefix will be handled by the Vite proxy in development.
baseQuery: fetchBaseQuery({baseUrl: '/api'}),
endpoints: (build) => ({
+ getArticles: build.query({
+ query: () => 'articles',
+ }),
searchArticles: build.query({
// The query parameter is now 'search', matching our FastAPI endpoint.
query: (searchQuery) => `articles?search=${searchQuery}`,
@@ -19,4 +22,4 @@ export const articleApi = createApi({
}),
});
-export const {useLazySearchArticlesQuery} = articleApi;
+export const {useGetArticlesQuery, useLazySearchArticlesQuery} = articleApi;
diff --git a/src/types/semanticSearch.ts b/src/types/semanticSearch.ts
new file mode 100644
index 00000000..bb4f78b0
--- /dev/null
+++ b/src/types/semanticSearch.ts
@@ -0,0 +1,23 @@
+// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
+// SPDX-License-Identifier: Apache-2.0
+
+import {Article} from 'store/ArticleSlice';
+
+/**
+ * Extends the base Article type with additional fields for semantic search results.
+ */
+export interface SearchResult extends Article {
+ relevanceScore: number;
+ classification: 'direct' | 'high' | 'related';
+ highlightTerms: string[];
+}
+
+/**
+ * Defines the shape of the data and functions provided by the SemanticSearchContext.
+ */
+export interface SemanticSearchContextType {
+ searchResults: SearchResult[];
+ isLoading: boolean;
+ performSearch: (query: string) => void;
+ clearSearch: () => void;
+}
From e81090c30fa73ac2ab18d993be53cf5760eda19d Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Tue, 24 Jun 2025 10:55:28 +0200
Subject: [PATCH 03/19] fix(tests): resolve test failures in CI
This commit fixes a series of cascading test failures that occurred after introducing the semantic search feature.
- Wraps test components in ArticleDataProvider to provide necessary context.
- Removes a duplicate data-testid that caused an ambiguous element error.
---
src/components/OnboardingComponents/TopBarPopover.tsx | 2 +-
test/components/Onboarding/InfoButton.test.tsx | 5 ++++-
test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx | 5 ++++-
test/components/TopBar/TopBar.test.tsx | 5 ++++-
4 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/components/OnboardingComponents/TopBarPopover.tsx b/src/components/OnboardingComponents/TopBarPopover.tsx
index e44f3149..2efc792b 100644
--- a/src/components/OnboardingComponents/TopBarPopover.tsx
+++ b/src/components/OnboardingComponents/TopBarPopover.tsx
@@ -80,7 +80,7 @@ export default function TopBarPopover(props: TopBarPopoverProps): JSX.Element {
top: 8,
}}
>
-
+
diff --git a/test/components/Onboarding/InfoButton.test.tsx b/test/components/Onboarding/InfoButton.test.tsx
index c4aa74b2..a3348597 100644
--- a/test/components/Onboarding/InfoButton.test.tsx
+++ b/test/components/Onboarding/InfoButton.test.tsx
@@ -12,6 +12,7 @@ import {ThemeProvider} from '@mui/system';
import Theme from '@/util/Theme';
import {I18nextProvider} from 'react-i18next';
import i18n from 'util/i18nForTests';
+import {ArticleDataProvider} from '../../../src/context/ArticleDataContext';
describe('InfoButton', () => {
const renderComponent = () => {
@@ -19,7 +20,9 @@ describe('InfoButton', () => {
-
+
+
+
diff --git a/test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx b/test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx
index bb06f8bb..68fd8376 100644
--- a/test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx
+++ b/test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx
@@ -11,6 +11,7 @@ import {I18nextProvider} from 'react-i18next';
import ApplicationMenu from '@/components/TopBar/ApplicationMenu';
import {Provider} from 'react-redux';
import {Store} from '@/store';
+import {ArticleDataProvider} from '../../../../src/context/ArticleDataContext';
describe('PrivacyPolicyDialog', () => {
test('PopUp', async () => {
@@ -18,7 +19,9 @@ describe('PrivacyPolicyDialog', () => {
-
+
+
+
diff --git a/test/components/TopBar/TopBar.test.tsx b/test/components/TopBar/TopBar.test.tsx
index 0b7b0138..98c74c1e 100644
--- a/test/components/TopBar/TopBar.test.tsx
+++ b/test/components/TopBar/TopBar.test.tsx
@@ -11,13 +11,16 @@ import TopBar from '@/components/TopBar';
import {I18nextProvider} from 'react-i18next';
import {Provider} from 'react-redux';
import {Store} from '@/store';
+import {ArticleDataProvider} from '../../../src/context/ArticleDataContext';
describe('TopBar', () => {
test('icon', () => {
render(
-
+
+
+
);
From f8e812c1f0bddfe72d2b244ab72d00381b12ff26 Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Wed, 16 Jul 2025 10:51:43 +0200
Subject: [PATCH 04/19] refactor: revert to GET request for search API
---
src/context/ArticleDataContext.tsx | 73 ++++++++++++++++++---------
src/context/SemanticSearchContext.tsx | 73 ++++++++++++---------------
src/store/services/articleApi.ts | 35 ++++++++-----
src/types/semanticSearch.ts | 9 ++--
vite.config.mts | 2 +-
5 files changed, 110 insertions(+), 82 deletions(-)
diff --git a/src/context/ArticleDataContext.tsx b/src/context/ArticleDataContext.tsx
index fc318810..3b64b641 100644
--- a/src/context/ArticleDataContext.tsx
+++ b/src/context/ArticleDataContext.tsx
@@ -1,51 +1,78 @@
// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
// SPDX-License-Identifier: Apache-2.0
-import React, {createContext, useContext, useEffect, ReactNode} from 'react';
-import {useAppDispatch, useAppSelector} from 'store/hooks';
+import React, {createContext, useContext, useState, useMemo, useEffect} from 'react';
import {useLazySearchArticlesQuery} from 'store/services/articleApi';
-import {setArticles, Article} from 'store/ArticleSlice';
+import {Article} from 'store/ArticleSlice';
interface ArticleDataContextType {
articles: Article[];
isLoading: boolean;
+ selectedArticle: Article | null;
+ setSelectedArticle: (article: Article | null) => void;
+ searchArticles: (query: string) => void;
+ clearSearch: () => void;
}
const ArticleDataContext = createContext(undefined);
-export const ArticleDataProvider: React.FC<{children: ReactNode}> = ({children}) => {
- const dispatch = useAppDispatch();
- const searchQuery = useAppSelector((state) => state.article.searchQuery);
- const articles = useAppSelector((state) => state.article.articles);
+interface ArticleDataProviderProps {
+ children: React.ReactNode;
+}
+/**
+ * This context is responsible for fetching and managing article data that is used
+ * throughout the application, especially for displaying article content in dialogs or popovers.
+ */
+export function ArticleDataProvider({children}: ArticleDataProviderProps) {
const [triggerSearch, {data: searchResults, isLoading}] = useLazySearchArticlesQuery();
-
- useEffect(() => {
- if (searchQuery) {
- void triggerSearch(searchQuery);
- } else {
- dispatch(setArticles([]));
- }
- }, [searchQuery, triggerSearch, dispatch]);
+ const [articles, setArticles] = useState([]);
+ const [selectedArticle, setSelectedArticle] = useState(null);
useEffect(() => {
if (searchResults) {
- dispatch(setArticles(searchResults));
+ const newArticles: Article[] = searchResults.results.map((item) => ({
+ id: item.id, // Keep as a number
+ title: `${item.filename} (p. ${item.page_num})`,
+ content: item.text_content,
+ filename: item.filename,
+ file_path: '', // Not available in new API
+ // other fields are optional
+ }));
+ setArticles(newArticles);
}
- }, [searchResults, dispatch]);
+ }, [searchResults]);
- const value = {
- articles,
- isLoading,
+ const searchArticles = (query: string) => {
+ triggerSearch(query);
};
+ const clearSearch = () => {
+ setArticles([]);
+ };
+
+ const value = useMemo(
+ () => ({
+ articles,
+ isLoading,
+ selectedArticle,
+ setSelectedArticle,
+ searchArticles,
+ clearSearch,
+ }),
+ [articles, isLoading, selectedArticle]
+ );
+
return {children};
-};
+}
-export const useArticleData = (): ArticleDataContextType => {
+/**
+ * Custom hook to easily access the Article data context.
+ */
+export function useArticleData(): ArticleDataContextType {
const context = useContext(ArticleDataContext);
if (context === undefined) {
throw new Error('useArticleData must be used within an ArticleDataProvider');
}
return context;
-};
+}
diff --git a/src/context/SemanticSearchContext.tsx b/src/context/SemanticSearchContext.tsx
index 7425e451..6b17df93 100644
--- a/src/context/SemanticSearchContext.tsx
+++ b/src/context/SemanticSearchContext.tsx
@@ -4,7 +4,6 @@
import React, {createContext, useContext, useState, useMemo, useCallback} from 'react';
import {useLazySearchArticlesQuery} from 'store/services/articleApi';
import {SearchResult, SemanticSearchContextType} from 'types/semanticSearch';
-import {Article} from 'store/ArticleSlice';
import {useAppDispatch, useAppSelector} from 'store/hooks';
import {setSemanticSearchStatus, resetSemanticSearch} from 'store/SemanticSearchSlice';
@@ -14,11 +13,6 @@ interface SemanticSearchProviderProps {
children: React.ReactNode;
}
-/**
- * Provides a "Data Socket" for the semantic search feature.
- * It uses the existing lazy query to fetch articles on-demand and then
- * simulates the semantic search results on the client-side.
- */
export function SemanticSearchProvider({children}: SemanticSearchProviderProps) {
const [triggerSearch, {isLoading}] = useLazySearchArticlesQuery();
const [augmentedResults, setAugmentedResults] = useState([]);
@@ -35,45 +29,42 @@ export function SemanticSearchProvider({children}: SemanticSearchProviderProps)
}
dispatch(setSemanticSearchStatus('loading'));
- setTimeout(() => {
- triggerSearch(query)
- .unwrap()
- .then((fetchedArticles) => {
- const lowerCaseQuery = query.toLowerCase();
- const queryTerms = lowerCaseQuery.split(' ').filter((term) => term.length > 2);
+ triggerSearch(query)
+ .unwrap()
+ .then((apiResponse) => {
+ const lowerCaseQuery = query.toLowerCase();
+ const queryTerms = lowerCaseQuery.split(' ').filter((term) => term.length > 2);
- const newResults: SearchResult[] = fetchedArticles.map((article: Article) => {
- let relevanceScore = Math.floor(Math.random() * 40) + 60;
- if (article.title.toLowerCase().includes(lowerCaseQuery)) {
- relevanceScore = Math.min(99, relevanceScore + 15);
- }
+ const newResults: SearchResult[] = apiResponse.results.map((item) => {
+ const relevanceScore = Math.round(item.similarity * 100);
- let classification: 'direct' | 'high' | 'related';
- if (relevanceScore >= 90) {
- classification = 'direct';
- } else if (relevanceScore >= 80) {
- classification = 'high';
- } else {
- classification = 'related';
- }
+ let classification: 'direct' | 'high' | 'related';
+ if (relevanceScore >= 90) {
+ classification = 'direct';
+ } else if (relevanceScore >= 80) {
+ classification = 'high';
+ } else {
+ classification = 'related';
+ }
- return {
- ...article,
- relevanceScore,
- classification,
- highlightTerms: queryTerms,
- };
- });
-
- newResults.sort((a, b) => b.relevanceScore - a.relevanceScore);
- setAugmentedResults(newResults);
- dispatch(setSemanticSearchStatus('succeeded'));
- })
- .catch((err) => {
- console.error('Semantic search failed:', err);
- dispatch(setSemanticSearchStatus('idle'));
+ return {
+ id: item.id.toString(),
+ title: `${item.filename} (p. ${item.page_num})`,
+ content: item.text_content,
+ relevanceScore,
+ classification,
+ highlightTerms: queryTerms,
+ };
});
- }, 0);
+
+ newResults.sort((a, b) => b.relevanceScore - a.relevanceScore);
+ setAugmentedResults(newResults);
+ dispatch(setSemanticSearchStatus('succeeded'));
+ })
+ .catch((err) => {
+ console.error('Semantic search failed:', err);
+ dispatch(setSemanticSearchStatus('idle'));
+ });
},
[dispatch, triggerSearch]
);
diff --git a/src/store/services/articleApi.ts b/src/store/services/articleApi.ts
index 11ae41e5..3dae6f5a 100644
--- a/src/store/services/articleApi.ts
+++ b/src/store/services/articleApi.ts
@@ -2,24 +2,33 @@
// SPDX-License-Identifier: Apache-2.0
import {createApi, fetchBaseQuery} from '@reduxjs/toolkit/query/react';
-import {Article} from 'store/ArticleSlice';
+
+// Define types for the new API response
+export interface ApiSearchResult {
+ id: number;
+ filename: string;
+ page_num: number;
+ content_type: 'text' | 'image';
+ text_content: string;
+ similarity: number;
+}
+
+export interface ApiSearchResponse {
+ query: string;
+ results: ApiSearchResult[];
+}
export const articleApi = createApi({
reducerPath: 'articleApi',
- // Point to our new backend API.
- // The '/api' prefix will be handled by the Vite proxy in development.
- baseQuery: fetchBaseQuery({baseUrl: '/api'}),
+ baseQuery: fetchBaseQuery({baseUrl: '/'}), // Use root to handle different prefixes
endpoints: (build) => ({
- getArticles: build.query({
- query: () => 'articles',
- }),
- searchArticles: build.query({
- // The query parameter is now 'search', matching our FastAPI endpoint.
- query: (searchQuery) => `articles?search=${searchQuery}`,
- // No need for a transformResponse, as our API now returns data
- // in the exact format the frontend expects.
+ searchArticles: build.query({
+ query: (searchQuery) => ({
+ url: 'search/',
+ params: {query: searchQuery},
+ }),
}),
}),
});
-export const {useGetArticlesQuery, useLazySearchArticlesQuery} = articleApi;
+export const {useLazySearchArticlesQuery} = articleApi;
diff --git a/src/types/semanticSearch.ts b/src/types/semanticSearch.ts
index bb4f78b0..5230e43f 100644
--- a/src/types/semanticSearch.ts
+++ b/src/types/semanticSearch.ts
@@ -1,12 +1,13 @@
// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
// SPDX-License-Identifier: Apache-2.0
-import {Article} from 'store/ArticleSlice';
-
/**
- * Extends the base Article type with additional fields for semantic search results.
+ * Defines the structure of a processed search result object used by the UI.
*/
-export interface SearchResult extends Article {
+export interface SearchResult {
+ id: string;
+ title: string;
+ content: string;
relevanceScore: number;
classification: 'direct' | 'high' | 'related';
highlightTerms: string[];
diff --git a/vite.config.mts b/vite.config.mts
index 69754b7a..789da926 100644
--- a/vite.config.mts
+++ b/vite.config.mts
@@ -80,7 +80,7 @@ export default defineConfig(() => {
server: {
// Proxy API [Articles search api] requests to the backend server in development
proxy: {
- '/api': {
+ '/search': {
target: 'http://127.0.0.1:8001',
changeOrigin: true,
},
From 500856ed048f26fb93bc0792a5f911f16a0406a6 Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Thu, 17 Jul 2025 11:03:13 +0200
Subject: [PATCH 05/19] feat: Remove ArticleSearchBar and use direct API calls
based on Moritz feedback
---
.env.template | 3 +
src/components/TopBar/ArticleSearchBar.tsx | 104 ---------------------
src/components/TopBar/index.tsx | 11 +--
src/context/ArticleDataContext.tsx | 31 ++++--
src/store/ArticleSlice.ts | 41 --------
src/store/index.ts | 2 -
src/store/services/articleApi.ts | 24 ++++-
src/types/semanticSearch.ts | 1 +
vite.config.mts | 17 ++--
9 files changed, 58 insertions(+), 176 deletions(-)
delete mode 100644 src/components/TopBar/ArticleSearchBar.tsx
delete mode 100644 src/store/ArticleSlice.ts
diff --git a/.env.template b/.env.template
index b64d1f4b..29b5d502 100644
--- a/.env.template
+++ b/.env.template
@@ -4,6 +4,9 @@
# This is for development only. For production you need to replace this with the actual URL.
VITE_API_URL=http://localhost:8000
+# VITE_ARTICLE_API_URL= http://sc-010187l:8001/
+VITE_ARTICLE_API_URL=http://localhost:8001
+
###### IDP Settings ######
# Change accordingly for dev, staging or production
diff --git a/src/components/TopBar/ArticleSearchBar.tsx b/src/components/TopBar/ArticleSearchBar.tsx
deleted file mode 100644
index 73f8457b..00000000
--- a/src/components/TopBar/ArticleSearchBar.tsx
+++ /dev/null
@@ -1,104 +0,0 @@
-// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
-// SPDX-License-Identifier: Apache-2.0
-
-import React, {useState, SyntheticEvent} from 'react';
-import {useTranslation} from 'react-i18next';
-import {useAppDispatch, useAppSelector} from 'store/hooks';
-import {setArticleSearchQuery} from 'store/ArticleSlice';
-import {useArticleData} from '@/context/ArticleDataContext';
-
-import Container from '@mui/material/Container';
-import Box from '@mui/material/Box';
-import Autocomplete from '@mui/material/Autocomplete';
-import useTheme from '@mui/material/styles/useTheme';
-import SearchIcon from '@mui/icons-material/Search';
-import CircularProgress from '@mui/material/CircularProgress';
-
-import {Article} from 'store/ArticleSlice';
-
-interface ArticleSearchBarProps {
- selectedArticle: Article | null;
- onChange: (event: SyntheticEvent, value: Article | null) => void;
- placeholder?: string;
-}
-
-export default function ArticleSearchBar({selectedArticle, onChange, placeholder}: ArticleSearchBarProps): JSX.Element {
- const theme = useTheme();
- const {t} = useTranslation();
- const dispatch = useAppDispatch();
- const [open, setOpen] = useState(false);
-
- // Consume the context to get data and loading state
- const {articles, isLoading} = useArticleData();
- const searchQuery = useAppSelector((state) => state.article.searchQuery);
-
- const handleInputChange = (_event: React.SyntheticEvent, newInputValue: string) => {
- dispatch(setArticleSearchQuery(newInputValue));
- };
-
- return (
-
-
-
- setOpen(true)}
- onClose={() => setOpen(false)}
- value={selectedArticle}
- onChange={onChange}
- inputValue={searchQuery}
- onInputChange={handleInputChange}
- options={articles}
- loading={isLoading}
- getOptionLabel={(option) => option.title}
- sx={{
- flexGrow: 1,
- '& *:focus': {outline: 'none'},
- }}
- renderInput={(params) => (
-
-
- {isLoading && }
-
- )}
- />
-
-
- );
-}
diff --git a/src/components/TopBar/index.tsx b/src/components/TopBar/index.tsx
index 49de74ac..a154f633 100644
--- a/src/components/TopBar/index.tsx
+++ b/src/components/TopBar/index.tsx
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
import useTheme from '@mui/material/styles/useTheme';
-import React, {useState} from 'react';
+import React from 'react';
import {useTranslation} from 'react-i18next';
import ApplicationMenu from './ApplicationMenu';
import Box from '@mui/material/Box';
@@ -10,8 +10,6 @@ import LanguagePicker from './LanguagePicker';
import RealmSelect from './RealmSelect';
import esidLogo from '../../../assets/logo/logo-200x66.svg';
import InfoButton from '../../components/OnboardingComponents/InfoButton';
-import ArticleSearchBar from '@/components/TopBar/ArticleSearchBar';
-import {Article} from 'store/ArticleSlice';
/**
* This is the top navigation bar of the application. It contains the logo and a burger menu to access settings and
@@ -20,7 +18,6 @@ import {Article} from 'store/ArticleSlice';
export default function TopBar(): JSX.Element {
const {t} = useTranslation();
const theme = useTheme();
- const [selectedArticle, setSelectedArticle] = useState(null);
return (
- setSelectedArticle(value)} />
+
-
-
-
+
);
diff --git a/src/context/ArticleDataContext.tsx b/src/context/ArticleDataContext.tsx
index 3b64b641..f02a32d6 100644
--- a/src/context/ArticleDataContext.tsx
+++ b/src/context/ArticleDataContext.tsx
@@ -1,9 +1,16 @@
// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
// SPDX-License-Identifier: Apache-2.0
-import React, {createContext, useContext, useState, useMemo, useEffect} from 'react';
+import React, {createContext, useContext, useState, useMemo, useEffect, useCallback} from 'react';
import {useLazySearchArticlesQuery} from 'store/services/articleApi';
-import {Article} from 'store/ArticleSlice';
+
+export interface Article {
+ id: string;
+ title: string;
+ content: string;
+ filename: string;
+ file_path: string;
+}
interface ArticleDataContextType {
articles: Article[];
@@ -32,24 +39,28 @@ export function ArticleDataProvider({children}: ArticleDataProviderProps) {
useEffect(() => {
if (searchResults) {
const newArticles: Article[] = searchResults.results.map((item) => ({
- id: item.id, // Keep as a number
+ id: item.id.toString(),
title: `${item.filename} (p. ${item.page_num})`,
content: item.text_content,
filename: item.filename,
file_path: '', // Not available in new API
- // other fields are optional
}));
setArticles(newArticles);
}
}, [searchResults]);
- const searchArticles = (query: string) => {
- triggerSearch(query);
- };
+ const searchArticles = useCallback(
+ (query: string) => {
+ triggerSearch(query).catch((error) => {
+ console.error('Failed to search articles:', error);
+ });
+ },
+ [triggerSearch]
+ );
- const clearSearch = () => {
+ const clearSearch = useCallback(() => {
setArticles([]);
- };
+ }, []);
const value = useMemo(
() => ({
@@ -60,7 +71,7 @@ export function ArticleDataProvider({children}: ArticleDataProviderProps) {
searchArticles,
clearSearch,
}),
- [articles, isLoading, selectedArticle]
+ [articles, isLoading, selectedArticle, searchArticles, clearSearch]
);
return {children};
diff --git a/src/store/ArticleSlice.ts b/src/store/ArticleSlice.ts
deleted file mode 100644
index 1a2dc0ed..00000000
--- a/src/store/ArticleSlice.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
-// SPDX-License-Identifier: Apache-2.0
-
-import {createSlice, PayloadAction} from '@reduxjs/toolkit';
-
-export interface Article {
- id: number;
- filename: string;
- title: string;
- author?: string;
- organization?: string;
- year_published?: number;
- keywords?: string;
- file_path: string;
-}
-
-export interface ArticleState {
- searchQuery: string;
- articles: Article[];
-}
-
-const initialState: ArticleState = {
- searchQuery: '',
- articles: [],
-};
-
-export const ArticleSlice = createSlice({
- name: 'article',
- initialState,
- reducers: {
- setArticleSearchQuery(state, action: PayloadAction) {
- state.searchQuery = action.payload;
- },
- setArticles(state, action: PayloadAction) {
- state.articles = action.payload;
- },
- },
-});
-
-export const {setArticleSearchQuery, setArticles} = ArticleSlice.actions;
-export default ArticleSlice.reducer;
diff --git a/src/store/index.ts b/src/store/index.ts
index 4c0de82c..a596497f 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -13,7 +13,6 @@ import AuthReducer from './AuthSlice';
import UserOnboardingReducer from './UserOnboardingSlice';
import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
import {idpApi} from './services/idpApi';
-import ArticleReducer from './ArticleSlice';
import {articleApi} from './services/articleApi';
import SemanticSearchReducer from './SemanticSearchSlice';
@@ -31,7 +30,6 @@ const rootReducer = combineReducers({
userOnboarding: UserOnboardingReducer,
realm: RealmReducer,
auth: AuthReducer,
- article: ArticleReducer,
semanticSearch: SemanticSearchReducer,
[scenarioApi.reducerPath]: scenarioApi.reducer,
[idpApi.reducerPath]: idpApi.reducer,
diff --git a/src/store/services/articleApi.ts b/src/store/services/articleApi.ts
index 3dae6f5a..c4962eb1 100644
--- a/src/store/services/articleApi.ts
+++ b/src/store/services/articleApi.ts
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
import {createApi, fetchBaseQuery} from '@reduxjs/toolkit/query/react';
+import {RootState} from '..';
// Define types for the new API response
export interface ApiSearchResult {
@@ -18,13 +19,32 @@ export interface ApiSearchResponse {
results: ApiSearchResult[];
}
+console.log('VITE_ARTICLE_API_URL:', import.meta.env.VITE_ARTICLE_API_URL);
+
export const articleApi = createApi({
reducerPath: 'articleApi',
- baseQuery: fetchBaseQuery({baseUrl: '/'}), // Use root to handle different prefixes
+ baseQuery: fetchBaseQuery({
+ baseUrl: `${import.meta.env.VITE_ARTICLE_API_URL || ''}`,
+ prepareHeaders: (headers, {getState}) => {
+ const realm = (getState() as RootState).realm;
+ const auth = (getState() as RootState).auth;
+
+ if (realm.name && realm.name !== '') {
+ headers.set('x-realm', realm.name);
+ }
+
+ if (auth.token && auth.token !== '') {
+ // headers.set('Authorization', 'Bearer ' + auth.token);
+ }
+ headers.set('Authorization', 'Bearer ' + 'TODO');
+
+ return headers;
+ },
+ }),
endpoints: (build) => ({
searchArticles: build.query({
query: (searchQuery) => ({
- url: 'search/',
+ url: 'search',
params: {query: searchQuery},
}),
}),
diff --git a/src/types/semanticSearch.ts b/src/types/semanticSearch.ts
index 5230e43f..d1ece66b 100644
--- a/src/types/semanticSearch.ts
+++ b/src/types/semanticSearch.ts
@@ -8,6 +8,7 @@ export interface SearchResult {
id: string;
title: string;
content: string;
+ keywords: string;
relevanceScore: number;
classification: 'direct' | 'high' | 'related';
highlightTerms: string[];
diff --git a/vite.config.mts b/vite.config.mts
index 789da926..6a04ec62 100644
--- a/vite.config.mts
+++ b/vite.config.mts
@@ -1,13 +1,14 @@
// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
// SPDX-License-Identifier: CC0-1.0
-import {defineConfig} from 'vite';
+import {defineConfig, loadEnv} from 'vite';
import react from '@vitejs/plugin-react';
import tsconfigPaths from 'vite-tsconfig-paths';
import preload from 'unplugin-inject-preload/vite';
import eslintPlugin from '@nabla/vite-plugin-eslint';
-export default defineConfig(() => {
+export default defineConfig(({mode}) => {
+ const env = loadEnv(mode, process.cwd(), '');
return {
assetsInclude: ['**/*.md', '**/*.geojson', '**/*.json5'],
base: './',
@@ -78,13 +79,11 @@ export default defineConfig(() => {
},
},
server: {
- // Proxy API [Articles search api] requests to the backend server in development
- proxy: {
- '/search': {
- target: 'http://127.0.0.1:8001',
- changeOrigin: true,
- },
- },
+ host: 'localhost',
+ port: 5173,
+ },
+ preview: {
+ port: 5173,
},
};
});
From 01c1a88ea20d081c799f75354455901ff3285222 Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Fri, 18 Jul 2025 15:48:27 +0200
Subject: [PATCH 06/19] refactor: Align frontend with updated search API
response
---
.../SemanticSearch/SearchResultItem.tsx | 27 +++++++------------
src/context/SemanticSearchContext.tsx | 8 +++---
src/store/services/articleApi.ts | 23 ++++------------
src/types/semanticSearch.ts | 2 +-
4 files changed, 21 insertions(+), 39 deletions(-)
diff --git a/src/components/OnboardingComponents/SemanticSearch/SearchResultItem.tsx b/src/components/OnboardingComponents/SemanticSearch/SearchResultItem.tsx
index 664003ff..3ed4a180 100644
--- a/src/components/OnboardingComponents/SemanticSearch/SearchResultItem.tsx
+++ b/src/components/OnboardingComponents/SemanticSearch/SearchResultItem.tsx
@@ -43,6 +43,14 @@ export default function SearchResultItem({result, onResultClick}: SearchResultIt
related: t('semanticSearch.classification.related'),
};
+ const truncateText = (text: string, wordLimit: number) => {
+ const words = text.split(' ');
+ if (words.length > wordLimit) {
+ return words.slice(0, wordLimit).join(' ') + '...';
+ }
+ return text;
+ };
+
return (
onResultClick(result)}
@@ -77,26 +85,11 @@ export default function SearchResultItem({result, onResultClick}: SearchResultIt
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua.
+ {truncateText(result.content, 50)}
-
- {result.keywords?.split(',').map((tag) => (
-
- ))}
-
+
([]);
const dispatch = useAppDispatch();
+ const token = useAppSelector((state) => state.auth.token);
const searchStatus = useAppSelector((state) => state.semanticSearch.searchStatus);
@@ -29,7 +30,7 @@ export function SemanticSearchProvider({children}: SemanticSearchProviderProps)
}
dispatch(setSemanticSearchStatus('loading'));
- triggerSearch(query)
+ triggerSearch({searchQuery: query, token})
.unwrap()
.then((apiResponse) => {
const lowerCaseQuery = query.toLowerCase();
@@ -49,7 +50,8 @@ export function SemanticSearchProvider({children}: SemanticSearchProviderProps)
return {
id: item.id.toString(),
- title: `${item.filename} (p. ${item.page_num})`,
+ title: item.article_title,
+ hyperlink: item.hyperlink,
content: item.text_content,
relevanceScore,
classification,
@@ -66,7 +68,7 @@ export function SemanticSearchProvider({children}: SemanticSearchProviderProps)
dispatch(setSemanticSearchStatus('idle'));
});
},
- [dispatch, triggerSearch]
+ [dispatch, triggerSearch, token]
);
const clearSearch = useCallback(() => {
diff --git a/src/store/services/articleApi.ts b/src/store/services/articleApi.ts
index c4962eb1..1c5c3797 100644
--- a/src/store/services/articleApi.ts
+++ b/src/store/services/articleApi.ts
@@ -7,7 +7,8 @@ import {RootState} from '..';
// Define types for the new API response
export interface ApiSearchResult {
id: number;
- filename: string;
+ article_title: string;
+ hyperlink: string;
page_num: number;
content_type: 'text' | 'image';
text_content: string;
@@ -25,27 +26,13 @@ export const articleApi = createApi({
reducerPath: 'articleApi',
baseQuery: fetchBaseQuery({
baseUrl: `${import.meta.env.VITE_ARTICLE_API_URL || ''}`,
- prepareHeaders: (headers, {getState}) => {
- const realm = (getState() as RootState).realm;
- const auth = (getState() as RootState).auth;
-
- if (realm.name && realm.name !== '') {
- headers.set('x-realm', realm.name);
- }
-
- if (auth.token && auth.token !== '') {
- // headers.set('Authorization', 'Bearer ' + auth.token);
- }
- headers.set('Authorization', 'Bearer ' + 'TODO');
-
- return headers;
- },
}),
endpoints: (build) => ({
- searchArticles: build.query({
- query: (searchQuery) => ({
+ searchArticles: build.query({
+ query: ({searchQuery, token}) => ({
url: 'search',
params: {query: searchQuery},
+ headers: token ? {Authorization: `Bearer ${token}`} : {},
}),
}),
}),
diff --git a/src/types/semanticSearch.ts b/src/types/semanticSearch.ts
index d1ece66b..3e8d309a 100644
--- a/src/types/semanticSearch.ts
+++ b/src/types/semanticSearch.ts
@@ -7,8 +7,8 @@
export interface SearchResult {
id: string;
title: string;
+ hyperlink: string;
content: string;
- keywords: string;
relevanceScore: number;
classification: 'direct' | 'high' | 'related';
highlightTerms: string[];
From a9bb2b90ceb65a699ca794d024ca51283c298e4e Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Mon, 21 Jul 2025 15:21:26 +0200
Subject: [PATCH 07/19] feat: Implement PDF viewer for search results
---
.gitignore | 7 +
package-lock.json | 410 +-
package.json | 6 +-
public/pdf.worker.min.js | 60962 ++++++++++++++++
src/App.tsx | 45 +-
.../SemanticSearch/ArticleDialog.tsx | 76 +-
src/context/ArticleDataContext.tsx | 89 -
src/store/services/articleApi.ts | 1 -
.../components/Onboarding/InfoButton.test.tsx | 5 +-
.../PopUps/PrivacyPolicyDialog.test.tsx | 5 +-
test/components/TopBar/TopBar.test.tsx | 5 +-
vite.config.mts | 9 +
12 files changed, 61463 insertions(+), 157 deletions(-)
create mode 100644 public/pdf.worker.min.js
delete mode 100644 src/context/ArticleDataContext.tsx
diff --git a/.gitignore b/.gitignore
index eb0efb6d..71a31583 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,10 @@ coverage
.env
.venv
__pycache__/
+/public/assets
+/public/locales
+/public/node_modules
+/public/pdf.worker.min.mjs
+.eslintcache
+.env
+.DS_Store
diff --git a/package-lock.json b/package-lock.json
index d9ce2da0..20413832 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,12 +21,14 @@
"@mui/system": "^5.15.0",
"@mui/x-date-pickers": "^6.20.0",
"@reduxjs/toolkit": "^2.0.1",
+ "@types/react-pdf": "^6.2.0",
"country-flag-icons": "^1.5.9",
"dayjs": "^1.11.10",
"i18next": "^23.7.10",
"i18next-browser-languagedetector": "^7.2.0",
"i18next-http-backend": "^2.4.2",
"json5": "^2.2.3",
+ "pdfjs-dist": "^5.3.31",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^13.5.0",
@@ -34,6 +36,7 @@
"react-lazyload": "github:twobin/react-lazyload",
"react-markdown": "^9.0.1",
"react-oauth2-code-pkce": "^1.18.0",
+ "react-pdf": "^10.0.1",
"react-redux": "^9.0.4",
"react-scroll-sync": "^0.11.2",
"redux": "^5.0.0",
@@ -80,6 +83,7 @@
"typescript": "~5.3.3",
"unplugin-inject-preload": "^2.0.0",
"vite": "^6.3.5",
+ "vite-plugin-static-copy": "^3.1.1",
"vite-tsconfig-paths": "^4.3.1",
"vitest": "^3.1.3",
"vitest-canvas-mock": "^0.3.3"
@@ -2261,6 +2265,191 @@
"node": ">=8"
}
},
+ "node_modules/@napi-rs/canvas": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.74.tgz",
+ "integrity": "sha512-pOIyzuS+5Bz1vAhD7tdhaw5/936mMJZUn4aVajojUdjYOGSWmfpDYSgt0nQLZPZVN5GLgWgutqXPOi7Jsm3k+Q==",
+ "license": "MIT",
+ "optional": true,
+ "workspaces": [
+ "e2e/*"
+ ],
+ "engines": {
+ "node": ">= 10"
+ },
+ "optionalDependencies": {
+ "@napi-rs/canvas-android-arm64": "0.1.74",
+ "@napi-rs/canvas-darwin-arm64": "0.1.74",
+ "@napi-rs/canvas-darwin-x64": "0.1.74",
+ "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.74",
+ "@napi-rs/canvas-linux-arm64-gnu": "0.1.74",
+ "@napi-rs/canvas-linux-arm64-musl": "0.1.74",
+ "@napi-rs/canvas-linux-riscv64-gnu": "0.1.74",
+ "@napi-rs/canvas-linux-x64-gnu": "0.1.74",
+ "@napi-rs/canvas-linux-x64-musl": "0.1.74",
+ "@napi-rs/canvas-win32-x64-msvc": "0.1.74"
+ }
+ },
+ "node_modules/@napi-rs/canvas-android-arm64": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.74.tgz",
+ "integrity": "sha512-aq5ode+9Z/ZR0H485dI2jdRdttg/hl9Ob+iPCt0nj+QFiirpxDrbUHKeTZWQWEtkWyC7vI5R2dMTbDINBfl9eg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-darwin-arm64": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.74.tgz",
+ "integrity": "sha512-eO5Miz+ef1dEQyUMWDdcbAb1Wr7yMyxD9/CL9d4frQxO4pTTaCiMBUWup8XDPLr/g7XkSkGCZLP47xiXiyXSpQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-darwin-x64": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.74.tgz",
+ "integrity": "sha512-0EkO0IFkps7C3JpKC7lbM3IL+QDUYeUKagHLDbUry4PeQTghxp6JcgccpmU32ZbpFZgPnm7o0tTJO0J1d8S2rA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.74.tgz",
+ "integrity": "sha512-qAVJEN2JqGayEI1kSpJy1Xr6ZmCFV9QhRyV35yWsS7e9X1jm+T4DAlCxI4PlKIlqVSzYMYhKrxchST20XBSzHg==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-linux-arm64-gnu": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.74.tgz",
+ "integrity": "sha512-lOnop22qy6MYxI94GGunMMjo6D80I//2W/6pqKUfwXaDQtOfvHsTcVVzDu5cFXUTNrb9ZRfMCeol5YEd+9FJvg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-linux-arm64-musl": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.74.tgz",
+ "integrity": "sha512-tfFqLHGtSEabBigOnPUfZviSTGmW2xHv5tYZYPBWmgGiTkoNJ7lEWFUxHjwvV5HXGqLs8ok/O7g1enSpxO6lmQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-linux-riscv64-gnu": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.74.tgz",
+ "integrity": "sha512-j6H9dHTMtr1y3tu/zGm1ythYIL9vTl4EEv9f6CMx0n3Zn2M+OruUUwh9ylCj4afzSNEK9T8cr6zMnmTPzkpBvQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-linux-x64-gnu": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.74.tgz",
+ "integrity": "sha512-73DIV4E7Y9CpIJuUXVl9H6+MEQXyRy4VJQoUGA1tOlcKQiStxqhq6UErL4decI28NxjyQXBhtYZKj5q8AJEuOg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-linux-x64-musl": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.74.tgz",
+ "integrity": "sha512-FgDMEFdGIJT3I2xejflRJ82/ZgDphyirS43RgtoLaIXI6zihLiZcQ7rczpqeWgAwlJNjR0He2EustsKe1SkUOg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@napi-rs/canvas-win32-x64-msvc": {
+ "version": "0.1.74",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.74.tgz",
+ "integrity": "sha512-x6bhwlhn0wU7dfiP46mt5Bi6PowSUH4CJ4PTzGj58LRQ1HVasEIJgoMx7MLC48F738eJpzbfg3WR/D8+e9CeTA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1",
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@@ -3268,6 +3457,34 @@
"@types/react": "*"
}
},
+ "node_modules/@types/react-pdf": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@types/react-pdf/-/react-pdf-6.2.0.tgz",
+ "integrity": "sha512-OSCYmrfaJvpXkM5V4seUMAhUDOAOqbGQf9kwv14INyTf7AjDs2ukfkkQrLWRQ8OjWrDklbXYWh5l7pT7l0N76g==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/react": "*",
+ "pdfjs-dist": "^2.16.105"
+ }
+ },
+ "node_modules/@types/react-pdf/node_modules/pdfjs-dist": {
+ "version": "2.16.105",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.16.105.tgz",
+ "integrity": "sha512-J4dn41spsAwUxCpEoVf6GVoz908IAA3mYiLmNxg8J9kfRXc2jxpbUepcP0ocp0alVNLFthTAM8DZ1RaHh8sU0A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "dommatrix": "^1.0.3",
+ "web-streams-polyfill": "^3.2.1"
+ },
+ "peerDependencies": {
+ "worker-loader": "^3.0.8"
+ },
+ "peerDependenciesMeta": {
+ "worker-loader": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@types/react-redux": {
"version": "7.1.33",
"resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.33.tgz",
@@ -5325,6 +5542,13 @@
"csstype": "^3.0.2"
}
},
+ "node_modules/dommatrix": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/dommatrix/-/dommatrix-1.0.3.tgz",
+ "integrity": "sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww==",
+ "deprecated": "dommatrix is no longer maintained. Please use @thednp/dommatrix.",
+ "license": "MIT"
+ },
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -6291,6 +6515,31 @@
"node": ">=12.20.0"
}
},
+ "node_modules/fs-extra": {
+ "version": "11.3.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz",
+ "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/fs-extra/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -6552,6 +6801,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/graphemer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -7744,6 +8000,29 @@
"node": ">=6"
}
},
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsonfile/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/jsx-ast-utils": {
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
@@ -8075,6 +8354,15 @@
"source-map-js": "^1.2.0"
}
},
+ "node_modules/make-cancellable-promise": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-2.0.0.tgz",
+ "integrity": "sha512-3SEQqTpV9oqVsIWqAcmDuaNeo7yBO3tqPtqGRcKkEo0lrzD3wqbKG9mkxO65KoOgXqj+zH2phJ2LiAsdzlogSw==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/wojtekmaj/make-cancellable-promise?sponsor=1"
+ }
+ },
"node_modules/make-dir": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
@@ -8123,6 +8411,15 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
+ "node_modules/make-event-props": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-2.0.0.tgz",
+ "integrity": "sha512-G/hncXrl4Qt7mauJEXSg3AcdYzmpkIITTNl5I+rH9sog5Yw0kK6vseJjCaPfOXqOqQuPUP89Rkhfz5kPS8ijtw==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/wojtekmaj/make-event-props?sponsor=1"
+ }
+ },
"node_modules/markerjs2": {
"version": "2.32.1",
"resolved": "https://registry.npmjs.org/markerjs2/-/markerjs2-2.32.1.tgz",
@@ -8297,6 +8594,23 @@
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
"dev": true
},
+ "node_modules/merge-refs": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-2.0.0.tgz",
+ "integrity": "sha512-3+B21mYK2IqUWnd2EivABLT7ueDhb0b8/dGK8LoFQPrU61YITeCMn14F7y7qZafWNZhUEKb24cJdiT5Wxs3prg==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/wojtekmaj/merge-refs?sponsor=1"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -9230,6 +9544,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/p-map": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz",
+ "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/package-json-from-dist": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
@@ -9393,6 +9720,18 @@
"node": ">= 14.16"
}
},
+ "node_modules/pdfjs-dist": {
+ "version": "5.3.31",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.3.31.tgz",
+ "integrity": "sha512-EhPdIjNX0fcdwYQO+e3BAAJPXt+XI29TZWC7COhIXs/K0JHcUt1Gdz1ITpebTwVMFiLsukdUZ3u0oTO7jij+VA==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=20.16.0 || >=22.3.0"
+ },
+ "optionalDependencies": {
+ "@napi-rs/canvas": "^0.1.67"
+ }
+ },
"node_modules/pdfmake": {
"version": "0.2.10",
"resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.10.tgz",
@@ -9817,6 +10156,35 @@
"react": ">=16.8.0"
}
},
+ "node_modules/react-pdf": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-10.0.1.tgz",
+ "integrity": "sha512-dblLZ5BqubeNFZwTzHkRi7Rexev2+Xb9z7sEvNYT+IOxmih1KgrByeqD4Hm0RnwR9nTWludXbiHQMe9d47DK2w==",
+ "license": "MIT",
+ "dependencies": {
+ "clsx": "^2.0.0",
+ "dequal": "^2.0.3",
+ "make-cancellable-promise": "^2.0.0",
+ "make-event-props": "^2.0.0",
+ "merge-refs": "^2.0.0",
+ "pdfjs-dist": "5.3.31",
+ "tiny-invariant": "^1.0.0",
+ "warning": "^4.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/wojtekmaj/react-pdf?sponsor=1"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-redux": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.0.tgz",
@@ -10870,6 +11238,12 @@
"resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
"integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
},
+ "node_modules/tiny-invariant": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
+ "license": "MIT"
+ },
"node_modules/tinybench": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
@@ -10885,9 +11259,9 @@
"license": "MIT"
},
"node_modules/tinyglobby": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
- "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11575,6 +11949,26 @@
"url": "https://opencollective.com/vitest"
}
},
+ "node_modules/vite-plugin-static-copy": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-3.1.1.tgz",
+ "integrity": "sha512-oR53SkL5cX4KT1t18E/xU50vJDo0N8oaHza4EMk0Fm+2/u6nQivxavOfrDk3udWj+dizRizB/QnBvJOOQrTTAQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chokidar": "^3.6.0",
+ "fs-extra": "^11.3.0",
+ "p-map": "^7.0.3",
+ "picocolors": "^1.1.1",
+ "tinyglobby": "^0.2.14"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
"node_modules/vite-tsconfig-paths": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz",
@@ -11725,6 +12119,15 @@
"node": ">=18"
}
},
+ "node_modules/warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"node_modules/web-namespaces": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
@@ -11738,7 +12141,6 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
"integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
- "dev": true,
"engines": {
"node": ">= 8"
}
diff --git a/package.json b/package.json
index e90039be..d986c058 100644
--- a/package.json
+++ b/package.json
@@ -46,12 +46,14 @@
"@mui/system": "^5.15.0",
"@mui/x-date-pickers": "^6.20.0",
"@reduxjs/toolkit": "^2.0.1",
+ "@types/react-pdf": "^6.2.0",
"country-flag-icons": "^1.5.9",
"dayjs": "^1.11.10",
"i18next": "^23.7.10",
"i18next-browser-languagedetector": "^7.2.0",
"i18next-http-backend": "^2.4.2",
"json5": "^2.2.3",
+ "pdfjs-dist": "^5.3.31",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^13.5.0",
@@ -59,6 +61,7 @@
"react-lazyload": "github:twobin/react-lazyload",
"react-markdown": "^9.0.1",
"react-oauth2-code-pkce": "^1.18.0",
+ "react-pdf": "^10.0.1",
"react-redux": "^9.0.4",
"react-scroll-sync": "^0.11.2",
"redux": "^5.0.0",
@@ -68,7 +71,6 @@
"rooks": "^7.14.1"
},
"devDependencies": {
- "@types/geojson": "^7946.0.13",
"@babel/eslint-parser": "^7.23.10",
"@babel/preset-react": "^7.23.3",
"@nabla/vite-plugin-eslint": "^2.0.5",
@@ -77,6 +79,7 @@
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/country-flag-icons": "^1.2.2",
+ "@types/geojson": "^7946.0.13",
"@types/node-fetch": "^2.6.9",
"@types/react": "^18.2.45",
"@types/react-dom": "^18.2.17",
@@ -105,6 +108,7 @@
"typescript": "~5.3.3",
"unplugin-inject-preload": "^2.0.0",
"vite": "^6.3.5",
+ "vite-plugin-static-copy": "^3.1.1",
"vite-tsconfig-paths": "^4.3.1",
"vitest": "^3.1.3",
"vitest-canvas-mock": "^0.3.3"
diff --git a/public/pdf.worker.min.js b/public/pdf.worker.min.js
new file mode 100644
index 00000000..e03786ac
--- /dev/null
+++ b/public/pdf.worker.min.js
@@ -0,0 +1,60962 @@
+/**
+ * @licstart The following is the entire license notice for the
+ * JavaScript code in this page
+ *
+ * Copyright 2022 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * @licend The above is the entire license notice for the
+ * JavaScript code in this page
+ */
+!(function webpackUniversalModuleDefinition(e, t) {
+ 'object' == typeof exports && 'object' == typeof module
+ ? (module.exports = t())
+ : 'function' == typeof define && define.amd
+ ? define('pdfjs-dist/build/pdf.worker', [], t)
+ : 'object' == typeof exports
+ ? (exports['pdfjs-dist/build/pdf.worker'] = t())
+ : (e['pdfjs-dist/build/pdf.worker'] = e.pdfjsWorker = t());
+})(globalThis, () =>
+ (() => {
+ 'use strict';
+ var e = [
+ ,
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.WorkerTask = t.WorkerMessageHandler = void 0;
+ var r = a(2),
+ n = a(5),
+ i = a(6),
+ s = a(8),
+ o = a(71),
+ c = a(65),
+ l = a(4),
+ h = a(102),
+ u = a(103);
+ class WorkerTask {
+ constructor(e) {
+ this.name = e;
+ this.terminated = !1;
+ this._capability = (0, r.createPromiseCapability)();
+ }
+ get finished() {
+ return this._capability.promise;
+ }
+ finish() {
+ this._capability.resolve();
+ }
+ terminate() {
+ this.terminated = !0;
+ }
+ ensureNotTerminated() {
+ if (this.terminated) throw new Error('Worker task was terminated');
+ }
+ }
+ t.WorkerTask = WorkerTask;
+ class WorkerMessageHandler {
+ static setup(e, t) {
+ let a = !1;
+ e.on('test', function wphSetupTest(t) {
+ if (!a) {
+ a = !0;
+ e.send('test', t instanceof Uint8Array);
+ }
+ });
+ e.on('configure', function wphConfigure(e) {
+ (0, r.setVerbosityLevel)(e.verbosity);
+ });
+ e.on('GetDocRequest', function wphSetupDoc(e) {
+ return WorkerMessageHandler.createDocumentHandler(e, t);
+ });
+ }
+ static createDocumentHandler(e, t) {
+ let a,
+ d = !1,
+ f = null;
+ const g = [],
+ p = (0, r.getVerbosityLevel)(),
+ m = e.apiVersion,
+ b = '2.16.105';
+ if (m !== b) throw new Error(`The API version "${m}" does not match the Worker version "2.16.105".`);
+ const y = [];
+ for (const e in []) y.push(e);
+ if (y.length)
+ throw new Error(
+ 'The `Array.prototype` contains unexpected enumerable properties: ' +
+ y.join(', ') +
+ '; thus breaking e.g. `for...in` iteration of `Array`s.'
+ );
+ if ('undefined' == typeof ReadableStream) {
+ const e =
+ 'The browser/environment lacks native support for critical functionality used by the PDF.js library (e.g. `ReadableStream`); ';
+ if (l.isNodeJS) throw new Error(e + 'please use a `legacy`-build instead.');
+ throw new Error(e + 'please update to a supported browser.');
+ }
+ const w = e.docId,
+ S = e.docBaseUrl,
+ x = e.docId + '_worker';
+ let k = new h.MessageHandler(x, w, t);
+ function ensureNotTerminated() {
+ if (d) throw new Error('Worker was terminated');
+ }
+ function startWorkerTask(e) {
+ g.push(e);
+ }
+ function finishWorkerTask(e) {
+ e.finish();
+ const t = g.indexOf(e);
+ g.splice(t, 1);
+ }
+ async function loadDocument(e) {
+ await a.ensureDoc('checkHeader');
+ await a.ensureDoc('parseStartXRef');
+ await a.ensureDoc('parse', [e]);
+ await a.ensureDoc('checkFirstPage', [e]);
+ await a.ensureDoc('checkLastPage', [e]);
+ const t = await a.ensureDoc('isPureXfa');
+ if (t) {
+ const e = new WorkerTask('loadXfaFonts');
+ startWorkerTask(e);
+ await Promise.all([
+ a
+ .loadXfaFonts(k, e)
+ .catch((e) => {})
+ .then(() => finishWorkerTask(e)),
+ a.loadXfaImages(),
+ ]);
+ }
+ const [r, n] = await Promise.all([a.ensureDoc('numPages'), a.ensureDoc('fingerprints')]);
+ return {numPages: r, fingerprints: n, htmlForXfa: t ? await a.ensureDoc('htmlForXfa') : null};
+ }
+ function getPdfManager(e, t, a) {
+ const n = (0, r.createPromiseCapability)();
+ let i;
+ const o = e.source;
+ if (o.data) {
+ try {
+ i = new s.LocalPdfManager(w, o.data, o.password, k, t, a, S);
+ n.resolve(i);
+ } catch (e) {
+ n.reject(e);
+ }
+ return n.promise;
+ }
+ let c,
+ l = [];
+ try {
+ c = new u.PDFWorkerStream(k);
+ } catch (e) {
+ n.reject(e);
+ return n.promise;
+ }
+ const h = c.getFullReader();
+ h.headersReady
+ .then(function () {
+ if (!h.isRangeSupported) return;
+ const e = o.disableAutoFetch || h.isStreamingSupported;
+ i = new s.NetworkPdfManager(
+ w,
+ c,
+ {
+ msgHandler: k,
+ password: o.password,
+ length: h.contentLength,
+ disableAutoFetch: e,
+ rangeChunkSize: o.rangeChunkSize,
+ },
+ t,
+ a,
+ S
+ );
+ for (const e of l) i.sendProgressiveData(e);
+ l = [];
+ n.resolve(i);
+ f = null;
+ })
+ .catch(function (e) {
+ n.reject(e);
+ f = null;
+ });
+ let d = 0;
+ new Promise(function (e, c) {
+ const readChunk = function ({value: e, done: u}) {
+ try {
+ ensureNotTerminated();
+ if (u) {
+ i ||
+ (function () {
+ const e = (0, r.arraysToBytes)(l);
+ o.length &&
+ e.length !== o.length &&
+ (0, r.warn)('reported HTTP length is different from actual');
+ try {
+ i = new s.LocalPdfManager(w, e, o.password, k, t, a, S);
+ n.resolve(i);
+ } catch (e) {
+ n.reject(e);
+ }
+ l = [];
+ })();
+ f = null;
+ return;
+ }
+ d += (0, r.arrayByteLength)(e);
+ h.isStreamingSupported ||
+ k.send('DocProgress', {loaded: d, total: Math.max(d, h.contentLength || 0)});
+ i ? i.sendProgressiveData(e) : l.push(e);
+ h.read().then(readChunk, c);
+ } catch (e) {
+ c(e);
+ }
+ };
+ h.read().then(readChunk, c);
+ }).catch(function (e) {
+ n.reject(e);
+ f = null;
+ });
+ f = function (e) {
+ c.cancelAllRequests(e);
+ };
+ return n.promise;
+ }
+ k.on('GetPage', function wphSetupGetPage(e) {
+ return a.getPage(e.pageIndex).then(function (e) {
+ return Promise.all([
+ a.ensure(e, 'rotate'),
+ a.ensure(e, 'ref'),
+ a.ensure(e, 'userUnit'),
+ a.ensure(e, 'view'),
+ ]).then(function ([e, t, a, r]) {
+ return {rotate: e, ref: t, userUnit: a, view: r};
+ });
+ });
+ });
+ k.on('GetPageIndex', function wphSetupGetPageIndex(e) {
+ const t = n.Ref.get(e.num, e.gen);
+ return a.ensureCatalog('getPageIndex', [t]);
+ });
+ k.on('GetDestinations', function wphSetupGetDestinations(e) {
+ return a.ensureCatalog('destinations');
+ });
+ k.on('GetDestination', function wphSetupGetDestination(e) {
+ return a.ensureCatalog('getDestination', [e.id]);
+ });
+ k.on('GetPageLabels', function wphSetupGetPageLabels(e) {
+ return a.ensureCatalog('pageLabels');
+ });
+ k.on('GetPageLayout', function wphSetupGetPageLayout(e) {
+ return a.ensureCatalog('pageLayout');
+ });
+ k.on('GetPageMode', function wphSetupGetPageMode(e) {
+ return a.ensureCatalog('pageMode');
+ });
+ k.on('GetViewerPreferences', function (e) {
+ return a.ensureCatalog('viewerPreferences');
+ });
+ k.on('GetOpenAction', function (e) {
+ return a.ensureCatalog('openAction');
+ });
+ k.on('GetAttachments', function wphSetupGetAttachments(e) {
+ return a.ensureCatalog('attachments');
+ });
+ k.on('GetJavaScript', function wphSetupGetJavaScript(e) {
+ return a.ensureCatalog('javaScript');
+ });
+ k.on('GetDocJSActions', function wphSetupGetDocJSActions(e) {
+ return a.ensureCatalog('jsActions');
+ });
+ k.on('GetPageJSActions', function ({pageIndex: e}) {
+ return a.getPage(e).then(function (e) {
+ return a.ensure(e, 'jsActions');
+ });
+ });
+ k.on('GetOutline', function wphSetupGetOutline(e) {
+ return a.ensureCatalog('documentOutline');
+ });
+ k.on('GetOptionalContentConfig', function (e) {
+ return a.ensureCatalog('optionalContentConfig');
+ });
+ k.on('GetPermissions', function (e) {
+ return a.ensureCatalog('permissions');
+ });
+ k.on('GetMetadata', function wphSetupGetMetadata(e) {
+ return Promise.all([a.ensureDoc('documentInfo'), a.ensureCatalog('metadata')]);
+ });
+ k.on('GetMarkInfo', function wphSetupGetMarkInfo(e) {
+ return a.ensureCatalog('markInfo');
+ });
+ k.on('GetData', function wphSetupGetData(e) {
+ a.requestLoadedStream();
+ return a.onLoadedStream().then(function (e) {
+ return e.bytes;
+ });
+ });
+ k.on('GetAnnotations', function ({pageIndex: e, intent: t}) {
+ return a.getPage(e).then(function (a) {
+ const r = new WorkerTask(`GetAnnotations: page ${e}`);
+ startWorkerTask(r);
+ return a.getAnnotationsData(k, r, t).then(
+ (e) => {
+ finishWorkerTask(r);
+ return e;
+ },
+ (e) => {
+ finishWorkerTask(r);
+ }
+ );
+ });
+ });
+ k.on('GetFieldObjects', function (e) {
+ return a.ensureDoc('fieldObjects');
+ });
+ k.on('HasJSActions', function (e) {
+ return a.ensureDoc('hasJSActions');
+ });
+ k.on('GetCalculationOrderIds', function (e) {
+ return a.ensureDoc('calculationOrderIds');
+ });
+ k.on('SaveDocument', function ({isPureXfa: e, numPages: t, annotationStorage: s, filename: o}) {
+ a.requestLoadedStream();
+ const l = e ? null : (0, i.getNewAnnotationsMap)(s),
+ h = [
+ a.onLoadedStream(),
+ a.ensureCatalog('acroForm'),
+ a.ensureCatalog('acroFormRef'),
+ a.ensureDoc('xref'),
+ a.ensureDoc('startXRef'),
+ ];
+ if (l)
+ for (const [e, t] of l)
+ h.push(
+ a.getPage(e).then((a) => {
+ const r = new WorkerTask(`Save (editor): page ${e}`);
+ return a.saveNewAnnotations(k, r, t).finally(function () {
+ finishWorkerTask(r);
+ });
+ })
+ );
+ if (e) h.push(a.serializeXfaData(s));
+ else
+ for (let e = 0; e < t; e++)
+ h.push(
+ a.getPage(e).then(function (t) {
+ const a = new WorkerTask(`Save: page ${e}`);
+ return t.save(k, a, s).finally(function () {
+ finishWorkerTask(a);
+ });
+ })
+ );
+ return Promise.all(h).then(function ([t, a, i, s, l, ...h]) {
+ let u = [],
+ d = null;
+ if (e) {
+ d = h[0];
+ if (!d) return t.bytes;
+ } else {
+ u = h.flat(2);
+ if (0 === u.length) return t.bytes;
+ }
+ const f = (a instanceof n.Dict && a.get('XFA')) || null;
+ let g = null,
+ p = !1;
+ if (Array.isArray(f)) {
+ for (let e = 0, t = f.length; e < t; e += 2)
+ if ('datasets' === f[e]) {
+ g = f[e + 1];
+ i = null;
+ p = !0;
+ }
+ null === g && (g = s.getNewRef());
+ } else if (f) {
+ i = null;
+ (0, r.warn)('Unsupported XFA type.');
+ }
+ let m = Object.create(null);
+ if (s.trailer) {
+ const e = Object.create(null),
+ t = s.trailer.get('Info') || null;
+ t instanceof n.Dict &&
+ t.forEach((t, a) => {
+ 'string' == typeof a && (e[t] = (0, r.stringToPDFString)(a));
+ });
+ m = {
+ rootRef: s.trailer.getRaw('Root') || null,
+ encryptRef: s.trailer.getRaw('Encrypt') || null,
+ newRef: s.getNewRef(),
+ infoRef: s.trailer.getRaw('Info') || null,
+ info: e,
+ fileIds: s.trailer.get('ID') || null,
+ startXRef: l,
+ filename: o,
+ };
+ }
+ s.resetNewRef();
+ return (0, c.incrementalUpdate)({
+ originalData: t.bytes,
+ xrefInfo: m,
+ newRefs: u,
+ xref: s,
+ hasXfa: !!f,
+ xfaDatasetsRef: g,
+ hasXfaDatasetsEntry: p,
+ acroFormRef: i,
+ acroForm: a,
+ xfaData: d,
+ });
+ });
+ });
+ k.on('GetOperatorList', function wphSetupRenderPage(e, t) {
+ const n = e.pageIndex;
+ a.getPage(n).then(function (a) {
+ const i = new WorkerTask(`GetOperatorList: page ${n}`);
+ startWorkerTask(i);
+ const s = p >= r.VerbosityLevel.INFOS ? Date.now() : 0;
+ a.getOperatorList({
+ handler: k,
+ sink: t,
+ task: i,
+ intent: e.intent,
+ cacheKey: e.cacheKey,
+ annotationStorage: e.annotationStorage,
+ }).then(
+ function (e) {
+ finishWorkerTask(i);
+ s && (0, r.info)(`page=${n + 1} - getOperatorList: time=${Date.now() - s}ms, len=${e.length}`);
+ t.close();
+ },
+ function (e) {
+ finishWorkerTask(i);
+ if (!i.terminated) {
+ k.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorOperatorList});
+ t.error(e);
+ }
+ }
+ );
+ });
+ });
+ k.on('GetTextContent', function wphExtractText(e, t) {
+ const n = e.pageIndex;
+ a.getPage(n).then(function (a) {
+ const i = new WorkerTask('GetTextContent: page ' + n);
+ startWorkerTask(i);
+ const s = p >= r.VerbosityLevel.INFOS ? Date.now() : 0;
+ a.extractTextContent({
+ handler: k,
+ task: i,
+ sink: t,
+ includeMarkedContent: e.includeMarkedContent,
+ combineTextItems: e.combineTextItems,
+ }).then(
+ function () {
+ finishWorkerTask(i);
+ s && (0, r.info)(`page=${n + 1} - getTextContent: time=` + (Date.now() - s) + 'ms');
+ t.close();
+ },
+ function (e) {
+ finishWorkerTask(i);
+ i.terminated || t.error(e);
+ }
+ );
+ });
+ });
+ k.on('GetStructTree', function wphGetStructTree(e) {
+ return a.getPage(e.pageIndex).then(function (e) {
+ return a.ensure(e, 'getStructTree');
+ });
+ });
+ k.on('FontFallback', function (e) {
+ return a.fontFallback(e.id, k);
+ });
+ k.on('Cleanup', function wphCleanup(e) {
+ return a.cleanup(!0);
+ });
+ k.on('Terminate', function wphTerminate(e) {
+ d = !0;
+ const t = [];
+ if (a) {
+ a.terminate(new r.AbortException('Worker was terminated.'));
+ const e = a.cleanup();
+ t.push(e);
+ a = null;
+ } else (0, o.clearGlobalCaches)();
+ f && f(new r.AbortException('Worker was terminated.'));
+ for (const e of g) {
+ t.push(e.finished);
+ e.terminate();
+ }
+ return Promise.all(t).then(function () {
+ k.destroy();
+ k = null;
+ });
+ });
+ k.on('Ready', function wphReady(t) {
+ !(function setupDoc(e) {
+ function onSuccess(e) {
+ ensureNotTerminated();
+ k.send('GetDoc', {pdfInfo: e});
+ }
+ function onFailure(e) {
+ ensureNotTerminated();
+ if (e instanceof r.PasswordException) {
+ const t = new WorkerTask(`PasswordException: response ${e.code}`);
+ startWorkerTask(t);
+ k.sendWithPromise('PasswordRequest', e)
+ .then(function ({password: e}) {
+ finishWorkerTask(t);
+ a.updatePassword(e);
+ pdfManagerReady();
+ })
+ .catch(function () {
+ finishWorkerTask(t);
+ k.send('DocException', e);
+ });
+ } else
+ e instanceof r.InvalidPDFException ||
+ e instanceof r.MissingPDFException ||
+ e instanceof r.UnexpectedResponseException ||
+ e instanceof r.UnknownErrorException
+ ? k.send('DocException', e)
+ : k.send('DocException', new r.UnknownErrorException(e.message, e.toString()));
+ }
+ function pdfManagerReady() {
+ ensureNotTerminated();
+ loadDocument(!1).then(onSuccess, function (e) {
+ ensureNotTerminated();
+ if (e instanceof i.XRefParseException) {
+ a.requestLoadedStream();
+ a.onLoadedStream().then(function () {
+ ensureNotTerminated();
+ loadDocument(!0).then(onSuccess, onFailure);
+ });
+ } else onFailure(e);
+ });
+ }
+ ensureNotTerminated();
+ getPdfManager(
+ e,
+ {
+ maxImageSize: e.maxImageSize,
+ disableFontFace: e.disableFontFace,
+ ignoreErrors: e.ignoreErrors,
+ isEvalSupported: e.isEvalSupported,
+ fontExtraProperties: e.fontExtraProperties,
+ useSystemFonts: e.useSystemFonts,
+ cMapUrl: e.cMapUrl,
+ standardFontDataUrl: e.standardFontDataUrl,
+ },
+ e.enableXfa
+ )
+ .then(function (e) {
+ if (d) {
+ e.terminate(new r.AbortException('Worker was terminated.'));
+ throw new Error('Worker was terminated');
+ }
+ a = e;
+ a.onLoadedStream().then(function (e) {
+ k.send('DataLoaded', {length: e.bytes.byteLength});
+ });
+ })
+ .then(pdfManagerReady, onFailure);
+ })(e);
+ e = null;
+ });
+ return x;
+ }
+ static initializeFromPort(e) {
+ const t = new h.MessageHandler('worker', 'main', e);
+ WorkerMessageHandler.setup(t, e);
+ t.send('ready', null);
+ }
+ }
+ t.WorkerMessageHandler = WorkerMessageHandler;
+ 'undefined' == typeof window &&
+ !l.isNodeJS &&
+ 'undefined' != typeof self &&
+ (function isMessagePort(e) {
+ return 'function' == typeof e.postMessage && 'onmessage' in e;
+ })(self) &&
+ WorkerMessageHandler.initializeFromPort(self);
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.VerbosityLevel =
+ t.Util =
+ t.UnknownErrorException =
+ t.UnexpectedResponseException =
+ t.UNSUPPORTED_FEATURES =
+ t.TextRenderingMode =
+ t.StreamType =
+ t.RenderingIntentFlag =
+ t.PermissionFlag =
+ t.PasswordResponses =
+ t.PasswordException =
+ t.PageActionEventType =
+ t.OPS =
+ t.MissingPDFException =
+ t.LINE_FACTOR =
+ t.LINE_DESCENT_FACTOR =
+ t.InvalidPDFException =
+ t.ImageKind =
+ t.IDENTITY_MATRIX =
+ t.FormatError =
+ t.FontType =
+ t.FeatureTest =
+ t.FONT_IDENTITY_MATRIX =
+ t.DocumentActionEventType =
+ t.CMapCompressionType =
+ t.BaseException =
+ t.AnnotationType =
+ t.AnnotationStateModelType =
+ t.AnnotationReviewState =
+ t.AnnotationReplyType =
+ t.AnnotationMode =
+ t.AnnotationMarkedState =
+ t.AnnotationFlag =
+ t.AnnotationFieldFlag =
+ t.AnnotationEditorType =
+ t.AnnotationEditorPrefix =
+ t.AnnotationEditorParamsType =
+ t.AnnotationBorderStyleType =
+ t.AnnotationActionEventType =
+ t.AbortException =
+ void 0;
+ t.arrayByteLength = arrayByteLength;
+ t.arraysToBytes = function arraysToBytes(e) {
+ const t = e.length;
+ if (1 === t && e[0] instanceof Uint8Array) return e[0];
+ let a = 0;
+ for (let r = 0; r < t; r++) a += arrayByteLength(e[r]);
+ let r = 0;
+ const n = new Uint8Array(a);
+ for (let a = 0; a < t; a++) {
+ let t = e[a];
+ t instanceof Uint8Array || (t = 'string' == typeof t ? stringToBytes(t) : new Uint8Array(t));
+ const i = t.byteLength;
+ n.set(t, r);
+ r += i;
+ }
+ return n;
+ };
+ t.assert = function assert(e, t) {
+ e || unreachable(t);
+ };
+ t.bytesToString = function bytesToString(e) {
+ ('object' == typeof e && null !== e && void 0 !== e.length) ||
+ unreachable('Invalid argument for bytesToString');
+ const t = e.length,
+ a = 8192;
+ if (t < a) return String.fromCharCode.apply(null, e);
+ const r = [];
+ for (let n = 0; n < t; n += a) {
+ const i = Math.min(n + a, t),
+ s = e.subarray(n, i);
+ r.push(String.fromCharCode.apply(null, s));
+ }
+ return r.join('');
+ };
+ t.createPromiseCapability = function createPromiseCapability() {
+ const e = Object.create(null);
+ let t = !1;
+ Object.defineProperty(e, 'settled', {get: () => t});
+ e.promise = new Promise(function (a, r) {
+ e.resolve = function (e) {
+ t = !0;
+ a(e);
+ };
+ e.reject = function (e) {
+ t = !0;
+ r(e);
+ };
+ });
+ return e;
+ };
+ t.createValidAbsoluteUrl = function createValidAbsoluteUrl(e, t = null, a = null) {
+ if (!e) return null;
+ try {
+ if (a && 'string' == typeof e) {
+ if (a.addDefaultProtocol && e.startsWith('www.')) {
+ const t = e.match(/\./g);
+ t && t.length >= 2 && (e = `http://${e}`);
+ }
+ if (a.tryConvertEncoding)
+ try {
+ e = stringToUTF8String(e);
+ } catch (e) {}
+ }
+ const r = t ? new URL(e, t) : new URL(e);
+ if (
+ (function _isValidProtocol(e) {
+ if (!e) return !1;
+ switch (e.protocol) {
+ case 'http:':
+ case 'https:':
+ case 'ftp:':
+ case 'mailto:':
+ case 'tel:':
+ return !0;
+ default:
+ return !1;
+ }
+ })(r)
+ )
+ return r;
+ } catch (e) {}
+ return null;
+ };
+ t.escapeString = function escapeString(e) {
+ return e.replace(/([()\\\n\r])/g, (e) => ('\n' === e ? '\\n' : '\r' === e ? '\\r' : `\\${e}`));
+ };
+ t.getModificationDate = function getModificationDate(e = new Date()) {
+ return [
+ e.getUTCFullYear().toString(),
+ (e.getUTCMonth() + 1).toString().padStart(2, '0'),
+ e.getUTCDate().toString().padStart(2, '0'),
+ e.getUTCHours().toString().padStart(2, '0'),
+ e.getUTCMinutes().toString().padStart(2, '0'),
+ e.getUTCSeconds().toString().padStart(2, '0'),
+ ].join('');
+ };
+ t.getVerbosityLevel = function getVerbosityLevel() {
+ return n;
+ };
+ t.info = function info(e) {
+ n >= r.INFOS && console.log(`Info: ${e}`);
+ };
+ t.isArrayBuffer = function isArrayBuffer(e) {
+ return 'object' == typeof e && null !== e && void 0 !== e.byteLength;
+ };
+ t.isArrayEqual = function isArrayEqual(e, t) {
+ if (e.length !== t.length) return !1;
+ for (let a = 0, r = e.length; a < r; a++) if (e[a] !== t[a]) return !1;
+ return !0;
+ };
+ t.isAscii = function isAscii(e) {
+ return /^[\x00-\x7F]*$/.test(e);
+ };
+ t.objectFromMap = function objectFromMap(e) {
+ const t = Object.create(null);
+ for (const [a, r] of e) t[a] = r;
+ return t;
+ };
+ t.objectSize = function objectSize(e) {
+ return Object.keys(e).length;
+ };
+ t.setVerbosityLevel = function setVerbosityLevel(e) {
+ Number.isInteger(e) && (n = e);
+ };
+ t.shadow = shadow;
+ t.string32 = function string32(e) {
+ return String.fromCharCode((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, 255 & e);
+ };
+ t.stringToBytes = stringToBytes;
+ t.stringToPDFString = function stringToPDFString(e) {
+ if (e[0] >= 'ï') {
+ let t;
+ 'þ' === e[0] && 'ÿ' === e[1]
+ ? (t = 'utf-16be')
+ : 'ÿ' === e[0] && 'þ' === e[1]
+ ? (t = 'utf-16le')
+ : 'ï' === e[0] && '»' === e[1] && '¿' === e[2] && (t = 'utf-8');
+ if (t)
+ try {
+ const a = new TextDecoder(t, {fatal: !0}),
+ r = stringToBytes(e);
+ return a.decode(r);
+ } catch (e) {
+ warn(`stringToPDFString: "${e}".`);
+ }
+ }
+ const t = [];
+ for (let a = 0, r = e.length; a < r; a++) {
+ const r = o[e.charCodeAt(a)];
+ t.push(r ? String.fromCharCode(r) : e.charAt(a));
+ }
+ return t.join('');
+ };
+ t.stringToUTF16BEString = function stringToUTF16BEString(e) {
+ const t = ['þÿ'];
+ for (let a = 0, r = e.length; a < r; a++) {
+ const r = e.charCodeAt(a);
+ t.push(String.fromCharCode((r >> 8) & 255), String.fromCharCode(255 & r));
+ }
+ return t.join('');
+ };
+ t.stringToUTF8String = stringToUTF8String;
+ t.unreachable = unreachable;
+ t.utf8StringToString = function utf8StringToString(e) {
+ return unescape(encodeURIComponent(e));
+ };
+ t.warn = warn;
+ a(3);
+ t.IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
+ t.FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
+ t.LINE_FACTOR = 1.35;
+ t.LINE_DESCENT_FACTOR = 0.35;
+ t.RenderingIntentFlag = {
+ ANY: 1,
+ DISPLAY: 2,
+ PRINT: 4,
+ ANNOTATIONS_FORMS: 16,
+ ANNOTATIONS_STORAGE: 32,
+ ANNOTATIONS_DISABLE: 64,
+ OPLIST: 256,
+ };
+ t.AnnotationMode = {DISABLE: 0, ENABLE: 1, ENABLE_FORMS: 2, ENABLE_STORAGE: 3};
+ t.AnnotationEditorPrefix = 'pdfjs_internal_editor_';
+ t.AnnotationEditorType = {DISABLE: -1, NONE: 0, FREETEXT: 3, INK: 15};
+ t.AnnotationEditorParamsType = {
+ FREETEXT_SIZE: 1,
+ FREETEXT_COLOR: 2,
+ FREETEXT_OPACITY: 3,
+ INK_COLOR: 11,
+ INK_THICKNESS: 12,
+ INK_OPACITY: 13,
+ };
+ t.PermissionFlag = {
+ PRINT: 4,
+ MODIFY_CONTENTS: 8,
+ COPY: 16,
+ MODIFY_ANNOTATIONS: 32,
+ FILL_INTERACTIVE_FORMS: 256,
+ COPY_FOR_ACCESSIBILITY: 512,
+ ASSEMBLE: 1024,
+ PRINT_HIGH_QUALITY: 2048,
+ };
+ t.TextRenderingMode = {
+ FILL: 0,
+ STROKE: 1,
+ FILL_STROKE: 2,
+ INVISIBLE: 3,
+ FILL_ADD_TO_PATH: 4,
+ STROKE_ADD_TO_PATH: 5,
+ FILL_STROKE_ADD_TO_PATH: 6,
+ ADD_TO_PATH: 7,
+ FILL_STROKE_MASK: 3,
+ ADD_TO_PATH_FLAG: 4,
+ };
+ t.ImageKind = {GRAYSCALE_1BPP: 1, RGB_24BPP: 2, RGBA_32BPP: 3};
+ t.AnnotationType = {
+ TEXT: 1,
+ LINK: 2,
+ FREETEXT: 3,
+ LINE: 4,
+ SQUARE: 5,
+ CIRCLE: 6,
+ POLYGON: 7,
+ POLYLINE: 8,
+ HIGHLIGHT: 9,
+ UNDERLINE: 10,
+ SQUIGGLY: 11,
+ STRIKEOUT: 12,
+ STAMP: 13,
+ CARET: 14,
+ INK: 15,
+ POPUP: 16,
+ FILEATTACHMENT: 17,
+ SOUND: 18,
+ MOVIE: 19,
+ WIDGET: 20,
+ SCREEN: 21,
+ PRINTERMARK: 22,
+ TRAPNET: 23,
+ WATERMARK: 24,
+ THREED: 25,
+ REDACT: 26,
+ };
+ t.AnnotationStateModelType = {MARKED: 'Marked', REVIEW: 'Review'};
+ t.AnnotationMarkedState = {MARKED: 'Marked', UNMARKED: 'Unmarked'};
+ t.AnnotationReviewState = {
+ ACCEPTED: 'Accepted',
+ REJECTED: 'Rejected',
+ CANCELLED: 'Cancelled',
+ COMPLETED: 'Completed',
+ NONE: 'None',
+ };
+ t.AnnotationReplyType = {GROUP: 'Group', REPLY: 'R'};
+ t.AnnotationFlag = {
+ INVISIBLE: 1,
+ HIDDEN: 2,
+ PRINT: 4,
+ NOZOOM: 8,
+ NOROTATE: 16,
+ NOVIEW: 32,
+ READONLY: 64,
+ LOCKED: 128,
+ TOGGLENOVIEW: 256,
+ LOCKEDCONTENTS: 512,
+ };
+ t.AnnotationFieldFlag = {
+ READONLY: 1,
+ REQUIRED: 2,
+ NOEXPORT: 4,
+ MULTILINE: 4096,
+ PASSWORD: 8192,
+ NOTOGGLETOOFF: 16384,
+ RADIO: 32768,
+ PUSHBUTTON: 65536,
+ COMBO: 131072,
+ EDIT: 262144,
+ SORT: 524288,
+ FILESELECT: 1048576,
+ MULTISELECT: 2097152,
+ DONOTSPELLCHECK: 4194304,
+ DONOTSCROLL: 8388608,
+ COMB: 16777216,
+ RICHTEXT: 33554432,
+ RADIOSINUNISON: 33554432,
+ COMMITONSELCHANGE: 67108864,
+ };
+ t.AnnotationBorderStyleType = {SOLID: 1, DASHED: 2, BEVELED: 3, INSET: 4, UNDERLINE: 5};
+ t.AnnotationActionEventType = {
+ E: 'Mouse Enter',
+ X: 'Mouse Exit',
+ D: 'Mouse Down',
+ U: 'Mouse Up',
+ Fo: 'Focus',
+ Bl: 'Blur',
+ PO: 'PageOpen',
+ PC: 'PageClose',
+ PV: 'PageVisible',
+ PI: 'PageInvisible',
+ K: 'Keystroke',
+ F: 'Format',
+ V: 'Validate',
+ C: 'Calculate',
+ };
+ t.DocumentActionEventType = {WC: 'WillClose', WS: 'WillSave', DS: 'DidSave', WP: 'WillPrint', DP: 'DidPrint'};
+ t.PageActionEventType = {O: 'PageOpen', C: 'PageClose'};
+ t.StreamType = {
+ UNKNOWN: 'UNKNOWN',
+ FLATE: 'FLATE',
+ LZW: 'LZW',
+ DCT: 'DCT',
+ JPX: 'JPX',
+ JBIG: 'JBIG',
+ A85: 'A85',
+ AHX: 'AHX',
+ CCF: 'CCF',
+ RLX: 'RLX',
+ };
+ t.FontType = {
+ UNKNOWN: 'UNKNOWN',
+ TYPE1: 'TYPE1',
+ TYPE1STANDARD: 'TYPE1STANDARD',
+ TYPE1C: 'TYPE1C',
+ CIDFONTTYPE0: 'CIDFONTTYPE0',
+ CIDFONTTYPE0C: 'CIDFONTTYPE0C',
+ TRUETYPE: 'TRUETYPE',
+ CIDFONTTYPE2: 'CIDFONTTYPE2',
+ TYPE3: 'TYPE3',
+ OPENTYPE: 'OPENTYPE',
+ TYPE0: 'TYPE0',
+ MMTYPE1: 'MMTYPE1',
+ };
+ const r = {ERRORS: 0, WARNINGS: 1, INFOS: 5};
+ t.VerbosityLevel = r;
+ t.CMapCompressionType = {NONE: 0, BINARY: 1, STREAM: 2};
+ t.OPS = {
+ dependency: 1,
+ setLineWidth: 2,
+ setLineCap: 3,
+ setLineJoin: 4,
+ setMiterLimit: 5,
+ setDash: 6,
+ setRenderingIntent: 7,
+ setFlatness: 8,
+ setGState: 9,
+ save: 10,
+ restore: 11,
+ transform: 12,
+ moveTo: 13,
+ lineTo: 14,
+ curveTo: 15,
+ curveTo2: 16,
+ curveTo3: 17,
+ closePath: 18,
+ rectangle: 19,
+ stroke: 20,
+ closeStroke: 21,
+ fill: 22,
+ eoFill: 23,
+ fillStroke: 24,
+ eoFillStroke: 25,
+ closeFillStroke: 26,
+ closeEOFillStroke: 27,
+ endPath: 28,
+ clip: 29,
+ eoClip: 30,
+ beginText: 31,
+ endText: 32,
+ setCharSpacing: 33,
+ setWordSpacing: 34,
+ setHScale: 35,
+ setLeading: 36,
+ setFont: 37,
+ setTextRenderingMode: 38,
+ setTextRise: 39,
+ moveText: 40,
+ setLeadingMoveText: 41,
+ setTextMatrix: 42,
+ nextLine: 43,
+ showText: 44,
+ showSpacedText: 45,
+ nextLineShowText: 46,
+ nextLineSetSpacingShowText: 47,
+ setCharWidth: 48,
+ setCharWidthAndBounds: 49,
+ setStrokeColorSpace: 50,
+ setFillColorSpace: 51,
+ setStrokeColor: 52,
+ setStrokeColorN: 53,
+ setFillColor: 54,
+ setFillColorN: 55,
+ setStrokeGray: 56,
+ setFillGray: 57,
+ setStrokeRGBColor: 58,
+ setFillRGBColor: 59,
+ setStrokeCMYKColor: 60,
+ setFillCMYKColor: 61,
+ shadingFill: 62,
+ beginInlineImage: 63,
+ beginImageData: 64,
+ endInlineImage: 65,
+ paintXObject: 66,
+ markPoint: 67,
+ markPointProps: 68,
+ beginMarkedContent: 69,
+ beginMarkedContentProps: 70,
+ endMarkedContent: 71,
+ beginCompat: 72,
+ endCompat: 73,
+ paintFormXObjectBegin: 74,
+ paintFormXObjectEnd: 75,
+ beginGroup: 76,
+ endGroup: 77,
+ beginAnnotations: 78,
+ endAnnotations: 79,
+ beginAnnotation: 80,
+ endAnnotation: 81,
+ paintJpegXObject: 82,
+ paintImageMaskXObject: 83,
+ paintImageMaskXObjectGroup: 84,
+ paintImageXObject: 85,
+ paintInlineImageXObject: 86,
+ paintInlineImageXObjectGroup: 87,
+ paintImageXObjectRepeat: 88,
+ paintImageMaskXObjectRepeat: 89,
+ paintSolidColorImageMask: 90,
+ constructPath: 91,
+ };
+ t.UNSUPPORTED_FEATURES = {
+ unknown: 'unknown',
+ forms: 'forms',
+ javaScript: 'javaScript',
+ signatures: 'signatures',
+ smask: 'smask',
+ shadingPattern: 'shadingPattern',
+ font: 'font',
+ errorTilingPattern: 'errorTilingPattern',
+ errorExtGState: 'errorExtGState',
+ errorXObject: 'errorXObject',
+ errorFontLoadType3: 'errorFontLoadType3',
+ errorFontState: 'errorFontState',
+ errorFontMissing: 'errorFontMissing',
+ errorFontTranslate: 'errorFontTranslate',
+ errorColorSpace: 'errorColorSpace',
+ errorOperatorList: 'errorOperatorList',
+ errorFontToUnicode: 'errorFontToUnicode',
+ errorFontLoadNative: 'errorFontLoadNative',
+ errorFontBuildPath: 'errorFontBuildPath',
+ errorFontGetPath: 'errorFontGetPath',
+ errorMarkedContent: 'errorMarkedContent',
+ errorContentSubStream: 'errorContentSubStream',
+ };
+ t.PasswordResponses = {NEED_PASSWORD: 1, INCORRECT_PASSWORD: 2};
+ let n = r.WARNINGS;
+ function warn(e) {
+ n >= r.WARNINGS && console.log(`Warning: ${e}`);
+ }
+ function unreachable(e) {
+ throw new Error(e);
+ }
+ function shadow(e, t, a) {
+ Object.defineProperty(e, t, {value: a, enumerable: !0, configurable: !0, writable: !1});
+ return a;
+ }
+ const i = (function BaseExceptionClosure() {
+ function BaseException(e, t) {
+ this.constructor === BaseException && unreachable('Cannot initialize BaseException.');
+ this.message = e;
+ this.name = t;
+ }
+ BaseException.prototype = new Error();
+ BaseException.constructor = BaseException;
+ return BaseException;
+ })();
+ t.BaseException = i;
+ t.PasswordException = class PasswordException extends i {
+ constructor(e, t) {
+ super(e, 'PasswordException');
+ this.code = t;
+ }
+ };
+ t.UnknownErrorException = class UnknownErrorException extends i {
+ constructor(e, t) {
+ super(e, 'UnknownErrorException');
+ this.details = t;
+ }
+ };
+ t.InvalidPDFException = class InvalidPDFException extends i {
+ constructor(e) {
+ super(e, 'InvalidPDFException');
+ }
+ };
+ t.MissingPDFException = class MissingPDFException extends i {
+ constructor(e) {
+ super(e, 'MissingPDFException');
+ }
+ };
+ t.UnexpectedResponseException = class UnexpectedResponseException extends i {
+ constructor(e, t) {
+ super(e, 'UnexpectedResponseException');
+ this.status = t;
+ }
+ };
+ t.FormatError = class FormatError extends i {
+ constructor(e) {
+ super(e, 'FormatError');
+ }
+ };
+ t.AbortException = class AbortException extends i {
+ constructor(e) {
+ super(e, 'AbortException');
+ }
+ };
+ function stringToBytes(e) {
+ 'string' != typeof e && unreachable('Invalid argument for stringToBytes');
+ const t = e.length,
+ a = new Uint8Array(t);
+ for (let r = 0; r < t; ++r) a[r] = 255 & e.charCodeAt(r);
+ return a;
+ }
+ function arrayByteLength(e) {
+ if (void 0 !== e.length) return e.length;
+ if (void 0 !== e.byteLength) return e.byteLength;
+ unreachable('Invalid argument for arrayByteLength');
+ }
+ t.FeatureTest = class FeatureTest {
+ static get isLittleEndian() {
+ return shadow(
+ this,
+ 'isLittleEndian',
+ (function isLittleEndian() {
+ const e = new Uint8Array(4);
+ e[0] = 1;
+ return 1 === new Uint32Array(e.buffer, 0, 1)[0];
+ })()
+ );
+ }
+ static get isEvalSupported() {
+ return shadow(
+ this,
+ 'isEvalSupported',
+ (function isEvalSupported() {
+ try {
+ new Function('');
+ return !0;
+ } catch (e) {
+ return !1;
+ }
+ })()
+ );
+ }
+ static get isOffscreenCanvasSupported() {
+ return shadow(this, 'isOffscreenCanvasSupported', 'undefined' != typeof OffscreenCanvas);
+ }
+ };
+ const s = [...Array(256).keys()].map((e) => e.toString(16).padStart(2, '0'));
+ class Util {
+ static makeHexColor(e, t, a) {
+ return `#${s[e]}${s[t]}${s[a]}`;
+ }
+ static scaleMinMax(e, t) {
+ let a;
+ if (e[0]) {
+ if (e[0] < 0) {
+ a = t[0];
+ t[0] = t[1];
+ t[1] = a;
+ }
+ t[0] *= e[0];
+ t[1] *= e[0];
+ if (e[3] < 0) {
+ a = t[2];
+ t[2] = t[3];
+ t[3] = a;
+ }
+ t[2] *= e[3];
+ t[3] *= e[3];
+ } else {
+ a = t[0];
+ t[0] = t[2];
+ t[2] = a;
+ a = t[1];
+ t[1] = t[3];
+ t[3] = a;
+ if (e[1] < 0) {
+ a = t[2];
+ t[2] = t[3];
+ t[3] = a;
+ }
+ t[2] *= e[1];
+ t[3] *= e[1];
+ if (e[2] < 0) {
+ a = t[0];
+ t[0] = t[1];
+ t[1] = a;
+ }
+ t[0] *= e[2];
+ t[1] *= e[2];
+ }
+ t[0] += e[4];
+ t[1] += e[4];
+ t[2] += e[5];
+ t[3] += e[5];
+ }
+ static transform(e, t) {
+ return [
+ e[0] * t[0] + e[2] * t[1],
+ e[1] * t[0] + e[3] * t[1],
+ e[0] * t[2] + e[2] * t[3],
+ e[1] * t[2] + e[3] * t[3],
+ e[0] * t[4] + e[2] * t[5] + e[4],
+ e[1] * t[4] + e[3] * t[5] + e[5],
+ ];
+ }
+ static applyTransform(e, t) {
+ return [e[0] * t[0] + e[1] * t[2] + t[4], e[0] * t[1] + e[1] * t[3] + t[5]];
+ }
+ static applyInverseTransform(e, t) {
+ const a = t[0] * t[3] - t[1] * t[2];
+ return [
+ (e[0] * t[3] - e[1] * t[2] + t[2] * t[5] - t[4] * t[3]) / a,
+ (-e[0] * t[1] + e[1] * t[0] + t[4] * t[1] - t[5] * t[0]) / a,
+ ];
+ }
+ static getAxialAlignedBoundingBox(e, t) {
+ const a = Util.applyTransform(e, t),
+ r = Util.applyTransform(e.slice(2, 4), t),
+ n = Util.applyTransform([e[0], e[3]], t),
+ i = Util.applyTransform([e[2], e[1]], t);
+ return [
+ Math.min(a[0], r[0], n[0], i[0]),
+ Math.min(a[1], r[1], n[1], i[1]),
+ Math.max(a[0], r[0], n[0], i[0]),
+ Math.max(a[1], r[1], n[1], i[1]),
+ ];
+ }
+ static inverseTransform(e) {
+ const t = e[0] * e[3] - e[1] * e[2];
+ return [
+ e[3] / t,
+ -e[1] / t,
+ -e[2] / t,
+ e[0] / t,
+ (e[2] * e[5] - e[4] * e[3]) / t,
+ (e[4] * e[1] - e[5] * e[0]) / t,
+ ];
+ }
+ static apply3dTransform(e, t) {
+ return [
+ e[0] * t[0] + e[1] * t[1] + e[2] * t[2],
+ e[3] * t[0] + e[4] * t[1] + e[5] * t[2],
+ e[6] * t[0] + e[7] * t[1] + e[8] * t[2],
+ ];
+ }
+ static singularValueDecompose2dScale(e) {
+ const t = [e[0], e[2], e[1], e[3]],
+ a = e[0] * t[0] + e[1] * t[2],
+ r = e[0] * t[1] + e[1] * t[3],
+ n = e[2] * t[0] + e[3] * t[2],
+ i = e[2] * t[1] + e[3] * t[3],
+ s = (a + i) / 2,
+ o = Math.sqrt((a + i) ** 2 - 4 * (a * i - n * r)) / 2,
+ c = s + o || 1,
+ l = s - o || 1;
+ return [Math.sqrt(c), Math.sqrt(l)];
+ }
+ static normalizeRect(e) {
+ const t = e.slice(0);
+ if (e[0] > e[2]) {
+ t[0] = e[2];
+ t[2] = e[0];
+ }
+ if (e[1] > e[3]) {
+ t[1] = e[3];
+ t[3] = e[1];
+ }
+ return t;
+ }
+ static intersect(e, t) {
+ const a = Math.max(Math.min(e[0], e[2]), Math.min(t[0], t[2])),
+ r = Math.min(Math.max(e[0], e[2]), Math.max(t[0], t[2]));
+ if (a > r) return null;
+ const n = Math.max(Math.min(e[1], e[3]), Math.min(t[1], t[3])),
+ i = Math.min(Math.max(e[1], e[3]), Math.max(t[1], t[3]));
+ return n > i ? null : [a, n, r, i];
+ }
+ static bezierBoundingBox(e, t, a, r, n, i, s, o) {
+ const c = [],
+ l = [[], []];
+ let h, u, d, f, g, p, m, b;
+ for (let l = 0; l < 2; ++l) {
+ if (0 === l) {
+ u = 6 * e - 12 * a + 6 * n;
+ h = -3 * e + 9 * a - 9 * n + 3 * s;
+ d = 3 * a - 3 * e;
+ } else {
+ u = 6 * t - 12 * r + 6 * i;
+ h = -3 * t + 9 * r - 9 * i + 3 * o;
+ d = 3 * r - 3 * t;
+ }
+ if (Math.abs(h) < 1e-12) {
+ if (Math.abs(u) < 1e-12) continue;
+ f = -d / u;
+ 0 < f && f < 1 && c.push(f);
+ } else {
+ m = u * u - 4 * d * h;
+ b = Math.sqrt(m);
+ if (!(m < 0)) {
+ g = (-u + b) / (2 * h);
+ 0 < g && g < 1 && c.push(g);
+ p = (-u - b) / (2 * h);
+ 0 < p && p < 1 && c.push(p);
+ }
+ }
+ }
+ let y,
+ w = c.length;
+ const S = w;
+ for (; w--; ) {
+ f = c[w];
+ y = 1 - f;
+ l[0][w] = y * y * y * e + 3 * y * y * f * a + 3 * y * f * f * n + f * f * f * s;
+ l[1][w] = y * y * y * t + 3 * y * y * f * r + 3 * y * f * f * i + f * f * f * o;
+ }
+ l[0][S] = e;
+ l[1][S] = t;
+ l[0][S + 1] = s;
+ l[1][S + 1] = o;
+ l[0].length = l[1].length = S + 2;
+ return [Math.min(...l[0]), Math.min(...l[1]), Math.max(...l[0]), Math.max(...l[1])];
+ }
+ }
+ t.Util = Util;
+ const o = [
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 711, 710, 729, 733, 731, 730,
+ 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8226, 8224, 8225, 8230, 8212,
+ 8211, 402, 8260, 8249, 8250, 8722, 8240, 8222, 8220, 8221, 8216, 8217, 8218, 8482, 64257, 64258, 321, 338,
+ 352, 376, 381, 305, 322, 339, 353, 382, 0, 8364,
+ ];
+ function stringToUTF8String(e) {
+ return decodeURIComponent(escape(e));
+ }
+ },
+ (e, t, a) => {
+ a(4);
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.isNodeJS = void 0;
+ const a = !(
+ 'object' != typeof process ||
+ process + '' != '[object process]' ||
+ process.versions.nw ||
+ (process.versions.electron && process.type && 'browser' !== process.type)
+ );
+ t.isNodeJS = a;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.RefSetCache = t.RefSet = t.Ref = t.Name = t.EOF = t.Dict = t.Cmd = t.CIRCULAR_REF = void 0;
+ t.clearPrimitiveCaches = function clearPrimitiveCaches() {
+ o._clearCache();
+ s._clearCache();
+ l._clearCache();
+ };
+ t.isCmd = function isCmd(e, t) {
+ return e instanceof o && (void 0 === t || e.cmd === t);
+ };
+ t.isDict = function isDict(e, t) {
+ return e instanceof Dict && (void 0 === t || isName(e.get('Type'), t));
+ };
+ t.isName = isName;
+ t.isRefsEqual = function isRefsEqual(e, t) {
+ return e.num === t.num && e.gen === t.gen;
+ };
+ var r = a(2);
+ const n = Symbol('CIRCULAR_REF');
+ t.CIRCULAR_REF = n;
+ const i = Symbol('EOF');
+ t.EOF = i;
+ const s = (function NameClosure() {
+ let e = Object.create(null);
+ class Name {
+ constructor(e) {
+ this.name = e;
+ }
+ static get(t) {
+ return e[t] || (e[t] = new Name(t));
+ }
+ static _clearCache() {
+ e = Object.create(null);
+ }
+ }
+ return Name;
+ })();
+ t.Name = s;
+ const o = (function CmdClosure() {
+ let e = Object.create(null);
+ class Cmd {
+ constructor(e) {
+ this.cmd = e;
+ }
+ static get(t) {
+ return e[t] || (e[t] = new Cmd(t));
+ }
+ static _clearCache() {
+ e = Object.create(null);
+ }
+ }
+ return Cmd;
+ })();
+ t.Cmd = o;
+ const c = function nonSerializableClosure() {
+ return c;
+ };
+ class Dict {
+ constructor(e = null) {
+ this._map = Object.create(null);
+ this.xref = e;
+ this.objId = null;
+ this.suppressEncryption = !1;
+ this.__nonSerializable__ = c;
+ }
+ assignXref(e) {
+ this.xref = e;
+ }
+ get size() {
+ return Object.keys(this._map).length;
+ }
+ get(e, t, a) {
+ let r = this._map[e];
+ if (void 0 === r && void 0 !== t) {
+ r = this._map[t];
+ void 0 === r && void 0 !== a && (r = this._map[a]);
+ }
+ return r instanceof l && this.xref ? this.xref.fetch(r, this.suppressEncryption) : r;
+ }
+ async getAsync(e, t, a) {
+ let r = this._map[e];
+ if (void 0 === r && void 0 !== t) {
+ r = this._map[t];
+ void 0 === r && void 0 !== a && (r = this._map[a]);
+ }
+ return r instanceof l && this.xref ? this.xref.fetchAsync(r, this.suppressEncryption) : r;
+ }
+ getArray(e, t, a) {
+ let r = this._map[e];
+ if (void 0 === r && void 0 !== t) {
+ r = this._map[t];
+ void 0 === r && void 0 !== a && (r = this._map[a]);
+ }
+ r instanceof l && this.xref && (r = this.xref.fetch(r, this.suppressEncryption));
+ if (Array.isArray(r)) {
+ r = r.slice();
+ for (let e = 0, t = r.length; e < t; e++)
+ r[e] instanceof l && this.xref && (r[e] = this.xref.fetch(r[e], this.suppressEncryption));
+ }
+ return r;
+ }
+ getRaw(e) {
+ return this._map[e];
+ }
+ getKeys() {
+ return Object.keys(this._map);
+ }
+ getRawValues() {
+ return Object.values(this._map);
+ }
+ set(e, t) {
+ this._map[e] = t;
+ }
+ has(e) {
+ return void 0 !== this._map[e];
+ }
+ forEach(e) {
+ for (const t in this._map) e(t, this.get(t));
+ }
+ static get empty() {
+ const e = new Dict(null);
+ e.set = (e, t) => {
+ (0, r.unreachable)('Should not call `set` on the empty dictionary.');
+ };
+ return (0, r.shadow)(this, 'empty', e);
+ }
+ static merge({xref: e, dictArray: t, mergeSubDicts: a = !1}) {
+ const r = new Dict(e),
+ n = new Map();
+ for (const e of t)
+ if (e instanceof Dict)
+ for (const [t, r] of Object.entries(e._map)) {
+ let e = n.get(t);
+ if (void 0 === e) {
+ e = [];
+ n.set(t, e);
+ } else if (!(a && r instanceof Dict)) continue;
+ e.push(r);
+ }
+ for (const [t, a] of n) {
+ if (1 === a.length || !(a[0] instanceof Dict)) {
+ r._map[t] = a[0];
+ continue;
+ }
+ const n = new Dict(e);
+ for (const e of a) for (const [t, a] of Object.entries(e._map)) void 0 === n._map[t] && (n._map[t] = a);
+ n.size > 0 && (r._map[t] = n);
+ }
+ n.clear();
+ return r.size > 0 ? r : Dict.empty;
+ }
+ }
+ t.Dict = Dict;
+ const l = (function RefClosure() {
+ let e = Object.create(null);
+ class Ref {
+ constructor(e, t) {
+ this.num = e;
+ this.gen = t;
+ }
+ toString() {
+ return 0 === this.gen ? `${this.num}R` : `${this.num}R${this.gen}`;
+ }
+ static get(t, a) {
+ const r = 0 === a ? `${t}R` : `${t}R${a}`;
+ return e[r] || (e[r] = new Ref(t, a));
+ }
+ static _clearCache() {
+ e = Object.create(null);
+ }
+ }
+ return Ref;
+ })();
+ t.Ref = l;
+ class RefSet {
+ constructor(e = null) {
+ this._set = new Set(e && e._set);
+ }
+ has(e) {
+ return this._set.has(e.toString());
+ }
+ put(e) {
+ this._set.add(e.toString());
+ }
+ remove(e) {
+ this._set.delete(e.toString());
+ }
+ [Symbol.iterator]() {
+ return this._set.values();
+ }
+ clear() {
+ this._set.clear();
+ }
+ }
+ t.RefSet = RefSet;
+ class RefSetCache {
+ constructor() {
+ this._map = new Map();
+ }
+ get size() {
+ return this._map.size;
+ }
+ get(e) {
+ return this._map.get(e.toString());
+ }
+ has(e) {
+ return this._map.has(e.toString());
+ }
+ put(e, t) {
+ this._map.set(e.toString(), t);
+ }
+ putAlias(e, t) {
+ this._map.set(e.toString(), this.get(t));
+ }
+ [Symbol.iterator]() {
+ return this._map.values();
+ }
+ clear() {
+ this._map.clear();
+ }
+ }
+ t.RefSetCache = RefSetCache;
+ function isName(e, t) {
+ return e instanceof s && (void 0 === t || e.name === t);
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.XRefParseException =
+ t.XRefEntryException =
+ t.ParserEOFException =
+ t.MissingDataException =
+ t.DocStats =
+ void 0;
+ t.collectActions = function collectActions(e, t, a) {
+ const i = Object.create(null),
+ s = getInheritableProperty({dict: t, key: 'AA', stopWhenFound: !1});
+ if (s)
+ for (let t = s.length - 1; t >= 0; t--) {
+ const r = s[t];
+ if (r instanceof n.Dict)
+ for (const t of r.getKeys()) {
+ const s = a[t];
+ if (!s) continue;
+ const o = r.getRaw(t),
+ c = new n.RefSet(),
+ l = [];
+ _collectJS(o, e, l, c);
+ l.length > 0 && (i[s] = l);
+ }
+ }
+ if (t.has('A')) {
+ const a = t.get('A'),
+ r = new n.RefSet(),
+ s = [];
+ _collectJS(a, e, s, r);
+ s.length > 0 && (i.Action = s);
+ }
+ return (0, r.objectSize)(i) > 0 ? i : null;
+ };
+ t.encodeToXmlString = function encodeToXmlString(e) {
+ const t = [];
+ let a = 0;
+ for (let r = 0, n = e.length; r < n; r++) {
+ const n = e.codePointAt(r);
+ if (32 <= n && n <= 126) {
+ const i = o[n];
+ if (i) {
+ a < r && t.push(e.substring(a, r));
+ t.push(i);
+ a = r + 1;
+ }
+ } else {
+ a < r && t.push(e.substring(a, r));
+ t.push(`${n.toString(16).toUpperCase()};`);
+ n > 55295 && (n < 57344 || n > 65533) && r++;
+ a = r + 1;
+ }
+ }
+ if (0 === t.length) return e;
+ a < e.length && t.push(e.substring(a, e.length));
+ return t.join('');
+ };
+ t.escapePDFName = function escapePDFName(e) {
+ const t = [];
+ let a = 0;
+ for (let r = 0, n = e.length; r < n; r++) {
+ const n = e.charCodeAt(r);
+ if (
+ n < 33 ||
+ n > 126 ||
+ 35 === n ||
+ 40 === n ||
+ 41 === n ||
+ 60 === n ||
+ 62 === n ||
+ 91 === n ||
+ 93 === n ||
+ 123 === n ||
+ 125 === n ||
+ 47 === n ||
+ 37 === n
+ ) {
+ a < r && t.push(e.substring(a, r));
+ t.push(`#${n.toString(16)}`);
+ a = r + 1;
+ }
+ }
+ if (0 === t.length) return e;
+ a < e.length && t.push(e.substring(a, e.length));
+ return t.join('');
+ };
+ t.getArrayLookupTableFactory = function getArrayLookupTableFactory(e) {
+ let t;
+ return function () {
+ if (e) {
+ let a = e();
+ e = null;
+ t = Object.create(null);
+ for (let e = 0, r = a.length; e < r; e += 2) t[a[e]] = a[e + 1];
+ a = null;
+ }
+ return t;
+ };
+ };
+ t.getInheritableProperty = getInheritableProperty;
+ t.getLookupTableFactory = function getLookupTableFactory(e) {
+ let t;
+ return function () {
+ if (e) {
+ t = Object.create(null);
+ e(t);
+ e = null;
+ }
+ return t;
+ };
+ };
+ t.getNewAnnotationsMap = function getNewAnnotationsMap(e) {
+ if (!e) return null;
+ const t = new Map();
+ for (const [a, n] of e) {
+ if (!a.startsWith(r.AnnotationEditorPrefix)) continue;
+ let e = t.get(n.pageIndex);
+ if (!e) {
+ e = [];
+ t.set(n.pageIndex, e);
+ }
+ e.push(n);
+ }
+ return t.size > 0 ? t : null;
+ };
+ t.isWhiteSpace = function isWhiteSpace(e) {
+ return 32 === e || 9 === e || 13 === e || 10 === e;
+ };
+ t.log2 = function log2(e) {
+ if (e <= 0) return 0;
+ return Math.ceil(Math.log2(e));
+ };
+ t.numberToString = function numberToString(e) {
+ if (Number.isInteger(e)) return e.toString();
+ const t = Math.round(100 * e);
+ if (t % 100 == 0) return (t / 100).toString();
+ if (t % 10 == 0) return e.toFixed(1);
+ return e.toFixed(2);
+ };
+ t.parseXFAPath = function parseXFAPath(e) {
+ const t = /(.+)\[(\d+)\]$/;
+ return e.split('.').map((e) => {
+ const a = e.match(t);
+ return a ? {name: a[1], pos: parseInt(a[2], 10)} : {name: e, pos: 0};
+ });
+ };
+ t.readInt8 = function readInt8(e, t) {
+ return (e[t] << 24) >> 24;
+ };
+ t.readUint16 = function readUint16(e, t) {
+ return (e[t] << 8) | e[t + 1];
+ };
+ t.readUint32 = function readUint32(e, t) {
+ return ((e[t] << 24) | (e[t + 1] << 16) | (e[t + 2] << 8) | e[t + 3]) >>> 0;
+ };
+ t.recoverJsURL = function recoverJsURL(e) {
+ const t = new RegExp(
+ '^\\s*(' +
+ ['app.launchURL', 'window.open', 'xfa.host.gotoURL'].join('|').split('.').join('\\.') +
+ ')\\((?:\'|")([^\'"]*)(?:\'|")(?:,\\s*(\\w+)\\)|\\))',
+ 'i'
+ ).exec(e);
+ if (t && t[2]) {
+ const e = t[2];
+ let a = !1;
+ 'true' === t[3] && 'app.launchURL' === t[1] && (a = !0);
+ return {url: e, newWindow: a};
+ }
+ return null;
+ };
+ t.toRomanNumerals = function toRomanNumerals(e, t = !1) {
+ (0, r.assert)(Number.isInteger(e) && e > 0, 'The number should be a positive integer.');
+ const a = [];
+ let n;
+ for (; e >= 1e3; ) {
+ e -= 1e3;
+ a.push('M');
+ }
+ n = (e / 100) | 0;
+ e %= 100;
+ a.push(s[n]);
+ n = (e / 10) | 0;
+ e %= 10;
+ a.push(s[10 + n]);
+ a.push(s[20 + e]);
+ const i = a.join('');
+ return t ? i.toLowerCase() : i;
+ };
+ t.validateCSSFont = function validateCSSFont(e) {
+ const t = new Set([
+ '100',
+ '200',
+ '300',
+ '400',
+ '500',
+ '600',
+ '700',
+ '800',
+ '900',
+ '1000',
+ 'normal',
+ 'bold',
+ 'bolder',
+ 'lighter',
+ ]),
+ {fontFamily: a, fontWeight: n, italicAngle: i} = e;
+ if (/^".*"$/.test(a)) {
+ if (/[^\\]"/.test(a.slice(1, a.length - 1))) {
+ (0, r.warn)(`XFA - FontFamily contains some unescaped ": ${a}.`);
+ return !1;
+ }
+ } else if (/^'.*'$/.test(a)) {
+ if (/[^\\]'/.test(a.slice(1, a.length - 1))) {
+ (0, r.warn)(`XFA - FontFamily contains some unescaped ': ${a}.`);
+ return !1;
+ }
+ } else
+ for (const e of a.split(/[ \t]+/))
+ if (/^(\d|(-(\d|-)))/.test(e) || !/^[\w-\\]+$/.test(e)) {
+ (0, r.warn)(`XFA - FontFamily contains some invalid : ${a}.`);
+ return !1;
+ }
+ const s = n ? n.toString() : '';
+ e.fontWeight = t.has(s) ? s : '400';
+ const o = parseFloat(i);
+ e.italicAngle = isNaN(o) || o < -90 || o > 90 ? '14' : i.toString();
+ return !0;
+ };
+ var r = a(2),
+ n = a(5),
+ i = a(7);
+ class MissingDataException extends r.BaseException {
+ constructor(e, t) {
+ super(`Missing data [${e}, ${t})`, 'MissingDataException');
+ this.begin = e;
+ this.end = t;
+ }
+ }
+ t.MissingDataException = MissingDataException;
+ class ParserEOFException extends r.BaseException {
+ constructor(e) {
+ super(e, 'ParserEOFException');
+ }
+ }
+ t.ParserEOFException = ParserEOFException;
+ class XRefEntryException extends r.BaseException {
+ constructor(e) {
+ super(e, 'XRefEntryException');
+ }
+ }
+ t.XRefEntryException = XRefEntryException;
+ class XRefParseException extends r.BaseException {
+ constructor(e) {
+ super(e, 'XRefParseException');
+ }
+ }
+ t.XRefParseException = XRefParseException;
+ t.DocStats = class DocStats {
+ constructor(e) {
+ this._handler = e;
+ this._streamTypes = new Set();
+ this._fontTypes = new Set();
+ }
+ _send() {
+ const e = Object.create(null),
+ t = Object.create(null);
+ for (const t of this._streamTypes) e[t] = !0;
+ for (const e of this._fontTypes) t[e] = !0;
+ this._handler.send('DocStats', {streamTypes: e, fontTypes: t});
+ }
+ addStreamType(e) {
+ if (!this._streamTypes.has(e)) {
+ this._streamTypes.add(e);
+ this._send();
+ }
+ }
+ addFontType(e) {
+ if (!this._fontTypes.has(e)) {
+ this._fontTypes.add(e);
+ this._send();
+ }
+ }
+ };
+ function getInheritableProperty({dict: e, key: t, getArray: a = !1, stopWhenFound: r = !0}) {
+ let i;
+ const s = new n.RefSet();
+ for (; e instanceof n.Dict && (!e.objId || !s.has(e.objId)); ) {
+ e.objId && s.put(e.objId);
+ const n = a ? e.getArray(t) : e.get(t);
+ if (void 0 !== n) {
+ if (r) return n;
+ i || (i = []);
+ i.push(n);
+ }
+ e = e.get('Parent');
+ }
+ return i;
+ }
+ const s = [
+ '',
+ 'C',
+ 'CC',
+ 'CCC',
+ 'CD',
+ 'D',
+ 'DC',
+ 'DCC',
+ 'DCCC',
+ 'CM',
+ '',
+ 'X',
+ 'XX',
+ 'XXX',
+ 'XL',
+ 'L',
+ 'LX',
+ 'LXX',
+ 'LXXX',
+ 'XC',
+ '',
+ 'I',
+ 'II',
+ 'III',
+ 'IV',
+ 'V',
+ 'VI',
+ 'VII',
+ 'VIII',
+ 'IX',
+ ];
+ function _collectJS(e, t, a, s) {
+ if (!e) return;
+ let o = null;
+ if (e instanceof n.Ref) {
+ if (s.has(e)) return;
+ o = e;
+ s.put(o);
+ e = t.fetch(e);
+ }
+ if (Array.isArray(e)) for (const r of e) _collectJS(r, t, a, s);
+ else if (e instanceof n.Dict) {
+ if ((0, n.isName)(e.get('S'), 'JavaScript')) {
+ const t = e.get('JS');
+ let n;
+ t instanceof i.BaseStream ? (n = t.getString()) : 'string' == typeof t && (n = t);
+ n = n && (0, r.stringToPDFString)(n).replace(/\u0000/g, '');
+ n && a.push(n);
+ }
+ _collectJS(e.getRaw('Next'), t, a, s);
+ }
+ o && s.remove(o);
+ }
+ const o = {60: '<', 62: '>', 38: '&', 34: '"', 39: '''};
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.BaseStream = void 0;
+ var r = a(2);
+ class BaseStream {
+ constructor() {
+ this.constructor === BaseStream && (0, r.unreachable)('Cannot initialize BaseStream.');
+ }
+ get length() {
+ (0, r.unreachable)('Abstract getter `length` accessed');
+ }
+ get isEmpty() {
+ (0, r.unreachable)('Abstract getter `isEmpty` accessed');
+ }
+ get isDataLoaded() {
+ return (0, r.shadow)(this, 'isDataLoaded', !0);
+ }
+ getByte() {
+ (0, r.unreachable)('Abstract method `getByte` called');
+ }
+ getBytes(e) {
+ (0, r.unreachable)('Abstract method `getBytes` called');
+ }
+ peekByte() {
+ const e = this.getByte();
+ -1 !== e && this.pos--;
+ return e;
+ }
+ peekBytes(e) {
+ const t = this.getBytes(e);
+ this.pos -= t.length;
+ return t;
+ }
+ getUint16() {
+ const e = this.getByte(),
+ t = this.getByte();
+ return -1 === e || -1 === t ? -1 : (e << 8) + t;
+ }
+ getInt32() {
+ return (this.getByte() << 24) + (this.getByte() << 16) + (this.getByte() << 8) + this.getByte();
+ }
+ getByteRange(e, t) {
+ (0, r.unreachable)('Abstract method `getByteRange` called');
+ }
+ getString(e) {
+ return (0, r.bytesToString)(this.getBytes(e));
+ }
+ skip(e) {
+ this.pos += e || 1;
+ }
+ reset() {
+ (0, r.unreachable)('Abstract method `reset` called');
+ }
+ moveStart() {
+ (0, r.unreachable)('Abstract method `moveStart` called');
+ }
+ makeSubStream(e, t, a = null) {
+ (0, r.unreachable)('Abstract method `makeSubStream` called');
+ }
+ getBaseStreams() {
+ return null;
+ }
+ }
+ t.BaseStream = BaseStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.NetworkPdfManager = t.LocalPdfManager = void 0;
+ var r = a(2),
+ n = a(9),
+ i = a(6),
+ s = a(11),
+ o = a(10);
+ function parseDocBaseUrl(e) {
+ if (e) {
+ const t = (0, r.createValidAbsoluteUrl)(e);
+ if (t) return t.href;
+ (0, r.warn)(`Invalid absolute docBaseUrl: "${e}".`);
+ }
+ return null;
+ }
+ class BasePdfManager {
+ constructor() {
+ this.constructor === BasePdfManager && (0, r.unreachable)('Cannot initialize BasePdfManager.');
+ }
+ get docId() {
+ return this._docId;
+ }
+ get password() {
+ return this._password;
+ }
+ get docBaseUrl() {
+ const e = this.pdfDocument.catalog;
+ return (0, r.shadow)(this, 'docBaseUrl', e.baseUrl || this._docBaseUrl);
+ }
+ onLoadedStream() {
+ (0, r.unreachable)('Abstract method `onLoadedStream` called');
+ }
+ ensureDoc(e, t) {
+ return this.ensure(this.pdfDocument, e, t);
+ }
+ ensureXRef(e, t) {
+ return this.ensure(this.pdfDocument.xref, e, t);
+ }
+ ensureCatalog(e, t) {
+ return this.ensure(this.pdfDocument.catalog, e, t);
+ }
+ getPage(e) {
+ return this.pdfDocument.getPage(e);
+ }
+ fontFallback(e, t) {
+ return this.pdfDocument.fontFallback(e, t);
+ }
+ loadXfaFonts(e, t) {
+ return this.pdfDocument.loadXfaFonts(e, t);
+ }
+ loadXfaImages() {
+ return this.pdfDocument.loadXfaImages();
+ }
+ serializeXfaData(e) {
+ return this.pdfDocument.serializeXfaData(e);
+ }
+ cleanup(e = !1) {
+ return this.pdfDocument.cleanup(e);
+ }
+ async ensure(e, t, a) {
+ (0, r.unreachable)('Abstract method `ensure` called');
+ }
+ requestRange(e, t) {
+ (0, r.unreachable)('Abstract method `requestRange` called');
+ }
+ requestLoadedStream() {
+ (0, r.unreachable)('Abstract method `requestLoadedStream` called');
+ }
+ sendProgressiveData(e) {
+ (0, r.unreachable)('Abstract method `sendProgressiveData` called');
+ }
+ updatePassword(e) {
+ this._password = e;
+ }
+ terminate(e) {
+ (0, r.unreachable)('Abstract method `terminate` called');
+ }
+ }
+ t.LocalPdfManager = class LocalPdfManager extends BasePdfManager {
+ constructor(e, t, a, r, n, i, c) {
+ super();
+ this._docId = e;
+ this._password = a;
+ this._docBaseUrl = parseDocBaseUrl(c);
+ this.msgHandler = r;
+ this.evaluatorOptions = n;
+ this.enableXfa = i;
+ const l = new o.Stream(t);
+ this.pdfDocument = new s.PDFDocument(this, l);
+ this._loadedStreamPromise = Promise.resolve(l);
+ }
+ async ensure(e, t, a) {
+ const r = e[t];
+ return 'function' == typeof r ? r.apply(e, a) : r;
+ }
+ requestRange(e, t) {
+ return Promise.resolve();
+ }
+ requestLoadedStream() {}
+ onLoadedStream() {
+ return this._loadedStreamPromise;
+ }
+ terminate(e) {}
+ };
+ t.NetworkPdfManager = class NetworkPdfManager extends BasePdfManager {
+ constructor(e, t, a, r, i, o) {
+ super();
+ this._docId = e;
+ this._password = a.password;
+ this._docBaseUrl = parseDocBaseUrl(o);
+ this.msgHandler = a.msgHandler;
+ this.evaluatorOptions = r;
+ this.enableXfa = i;
+ this.streamManager = new n.ChunkedStreamManager(t, {
+ msgHandler: a.msgHandler,
+ length: a.length,
+ disableAutoFetch: a.disableAutoFetch,
+ rangeChunkSize: a.rangeChunkSize,
+ });
+ this.pdfDocument = new s.PDFDocument(this, this.streamManager.getStream());
+ }
+ async ensure(e, t, a) {
+ try {
+ const r = e[t];
+ return 'function' == typeof r ? r.apply(e, a) : r;
+ } catch (r) {
+ if (!(r instanceof i.MissingDataException)) throw r;
+ await this.requestRange(r.begin, r.end);
+ return this.ensure(e, t, a);
+ }
+ }
+ requestRange(e, t) {
+ return this.streamManager.requestRange(e, t);
+ }
+ requestLoadedStream() {
+ this.streamManager.requestAllChunks();
+ }
+ sendProgressiveData(e) {
+ this.streamManager.onReceiveData({chunk: e});
+ }
+ onLoadedStream() {
+ return this.streamManager.onLoadedStream();
+ }
+ terminate(e) {
+ this.streamManager.abort(e);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ChunkedStreamManager = t.ChunkedStream = void 0;
+ var r = a(2),
+ n = a(6),
+ i = a(10);
+ class ChunkedStream extends i.Stream {
+ constructor(e, t, a) {
+ super(new Uint8Array(e), 0, e, null);
+ this.chunkSize = t;
+ this._loadedChunks = new Set();
+ this.numChunks = Math.ceil(e / t);
+ this.manager = a;
+ this.progressiveDataLength = 0;
+ this.lastSuccessfulEnsureByteChunk = -1;
+ }
+ getMissingChunks() {
+ const e = [];
+ for (let t = 0, a = this.numChunks; t < a; ++t) this._loadedChunks.has(t) || e.push(t);
+ return e;
+ }
+ get numChunksLoaded() {
+ return this._loadedChunks.size;
+ }
+ get isDataLoaded() {
+ return this.numChunksLoaded === this.numChunks;
+ }
+ onReceiveData(e, t) {
+ const a = this.chunkSize;
+ if (e % a != 0) throw new Error(`Bad begin offset: ${e}`);
+ const r = e + t.byteLength;
+ if (r % a != 0 && r !== this.bytes.length) throw new Error(`Bad end offset: ${r}`);
+ this.bytes.set(new Uint8Array(t), e);
+ const n = Math.floor(e / a),
+ i = Math.floor((r - 1) / a) + 1;
+ for (let e = n; e < i; ++e) this._loadedChunks.add(e);
+ }
+ onReceiveProgressiveData(e) {
+ let t = this.progressiveDataLength;
+ const a = Math.floor(t / this.chunkSize);
+ this.bytes.set(new Uint8Array(e), t);
+ t += e.byteLength;
+ this.progressiveDataLength = t;
+ const r = t >= this.end ? this.numChunks : Math.floor(t / this.chunkSize);
+ for (let e = a; e < r; ++e) this._loadedChunks.add(e);
+ }
+ ensureByte(e) {
+ if (e < this.progressiveDataLength) return;
+ const t = Math.floor(e / this.chunkSize);
+ if (!(t > this.numChunks) && t !== this.lastSuccessfulEnsureByteChunk) {
+ if (!this._loadedChunks.has(t)) throw new n.MissingDataException(e, e + 1);
+ this.lastSuccessfulEnsureByteChunk = t;
+ }
+ }
+ ensureRange(e, t) {
+ if (e >= t) return;
+ if (t <= this.progressiveDataLength) return;
+ const a = Math.floor(e / this.chunkSize);
+ if (a > this.numChunks) return;
+ const r = Math.min(Math.floor((t - 1) / this.chunkSize) + 1, this.numChunks);
+ for (let i = a; i < r; ++i) if (!this._loadedChunks.has(i)) throw new n.MissingDataException(e, t);
+ }
+ nextEmptyChunk(e) {
+ const t = this.numChunks;
+ for (let a = 0; a < t; ++a) {
+ const r = (e + a) % t;
+ if (!this._loadedChunks.has(r)) return r;
+ }
+ return null;
+ }
+ hasChunk(e) {
+ return this._loadedChunks.has(e);
+ }
+ getByte() {
+ const e = this.pos;
+ if (e >= this.end) return -1;
+ e >= this.progressiveDataLength && this.ensureByte(e);
+ return this.bytes[this.pos++];
+ }
+ getBytes(e) {
+ const t = this.bytes,
+ a = this.pos,
+ r = this.end;
+ if (!e) {
+ r > this.progressiveDataLength && this.ensureRange(a, r);
+ return t.subarray(a, r);
+ }
+ let n = a + e;
+ n > r && (n = r);
+ n > this.progressiveDataLength && this.ensureRange(a, n);
+ this.pos = n;
+ return t.subarray(a, n);
+ }
+ getByteRange(e, t) {
+ e < 0 && (e = 0);
+ t > this.end && (t = this.end);
+ t > this.progressiveDataLength && this.ensureRange(e, t);
+ return this.bytes.subarray(e, t);
+ }
+ makeSubStream(e, t, a = null) {
+ t
+ ? e + t > this.progressiveDataLength && this.ensureRange(e, e + t)
+ : e >= this.progressiveDataLength && this.ensureByte(e);
+ function ChunkedStreamSubstream() {}
+ ChunkedStreamSubstream.prototype = Object.create(this);
+ ChunkedStreamSubstream.prototype.getMissingChunks = function () {
+ const e = this.chunkSize,
+ t = Math.floor(this.start / e),
+ a = Math.floor((this.end - 1) / e) + 1,
+ r = [];
+ for (let e = t; e < a; ++e) this._loadedChunks.has(e) || r.push(e);
+ return r;
+ };
+ Object.defineProperty(ChunkedStreamSubstream.prototype, 'isDataLoaded', {
+ get() {
+ return this.numChunksLoaded === this.numChunks || 0 === this.getMissingChunks().length;
+ },
+ configurable: !0,
+ });
+ const r = new ChunkedStreamSubstream();
+ r.pos = r.start = e;
+ r.end = e + t || this.end;
+ r.dict = a;
+ return r;
+ }
+ getBaseStreams() {
+ return [this];
+ }
+ }
+ t.ChunkedStream = ChunkedStream;
+ t.ChunkedStreamManager = class ChunkedStreamManager {
+ constructor(e, t) {
+ this.length = t.length;
+ this.chunkSize = t.rangeChunkSize;
+ this.stream = new ChunkedStream(this.length, this.chunkSize, this);
+ this.pdfNetworkStream = e;
+ this.disableAutoFetch = t.disableAutoFetch;
+ this.msgHandler = t.msgHandler;
+ this.currRequestId = 0;
+ this._chunksNeededByRequest = new Map();
+ this._requestsByChunk = new Map();
+ this._promisesByRequest = new Map();
+ this.progressiveDataLength = 0;
+ this.aborted = !1;
+ this._loadedStreamCapability = (0, r.createPromiseCapability)();
+ }
+ onLoadedStream() {
+ return this._loadedStreamCapability.promise;
+ }
+ sendRequest(e, t) {
+ const a = this.pdfNetworkStream.getRangeReader(e, t);
+ a.isStreamingSupported || (a.onProgress = this.onProgress.bind(this));
+ let n = [],
+ i = 0;
+ return new Promise((e, t) => {
+ const readChunk = (s) => {
+ try {
+ if (!s.done) {
+ const e = s.value;
+ n.push(e);
+ i += (0, r.arrayByteLength)(e);
+ a.isStreamingSupported && this.onProgress({loaded: i});
+ a.read().then(readChunk, t);
+ return;
+ }
+ const o = (0, r.arraysToBytes)(n);
+ n = null;
+ e(o);
+ } catch (e) {
+ t(e);
+ }
+ };
+ a.read().then(readChunk, t);
+ }).then((t) => {
+ this.aborted || this.onReceiveData({chunk: t, begin: e});
+ });
+ }
+ requestAllChunks() {
+ const e = this.stream.getMissingChunks();
+ this._requestChunks(e);
+ return this._loadedStreamCapability.promise;
+ }
+ _requestChunks(e) {
+ const t = this.currRequestId++,
+ a = new Set();
+ this._chunksNeededByRequest.set(t, a);
+ for (const t of e) this.stream.hasChunk(t) || a.add(t);
+ if (0 === a.size) return Promise.resolve();
+ const n = (0, r.createPromiseCapability)();
+ this._promisesByRequest.set(t, n);
+ const i = [];
+ for (const e of a) {
+ let a = this._requestsByChunk.get(e);
+ if (!a) {
+ a = [];
+ this._requestsByChunk.set(e, a);
+ i.push(e);
+ }
+ a.push(t);
+ }
+ if (i.length > 0) {
+ const e = this.groupChunks(i);
+ for (const t of e) {
+ const e = t.beginChunk * this.chunkSize,
+ a = Math.min(t.endChunk * this.chunkSize, this.length);
+ this.sendRequest(e, a).catch(n.reject);
+ }
+ }
+ return n.promise.catch((e) => {
+ if (!this.aborted) throw e;
+ });
+ }
+ getStream() {
+ return this.stream;
+ }
+ requestRange(e, t) {
+ t = Math.min(t, this.length);
+ const a = this.getBeginChunk(e),
+ r = this.getEndChunk(t),
+ n = [];
+ for (let e = a; e < r; ++e) n.push(e);
+ return this._requestChunks(n);
+ }
+ requestRanges(e = []) {
+ const t = [];
+ for (const a of e) {
+ const e = this.getBeginChunk(a.begin),
+ r = this.getEndChunk(a.end);
+ for (let a = e; a < r; ++a) t.includes(a) || t.push(a);
+ }
+ t.sort(function (e, t) {
+ return e - t;
+ });
+ return this._requestChunks(t);
+ }
+ groupChunks(e) {
+ const t = [];
+ let a = -1,
+ r = -1;
+ for (let n = 0, i = e.length; n < i; ++n) {
+ const i = e[n];
+ a < 0 && (a = i);
+ if (r >= 0 && r + 1 !== i) {
+ t.push({beginChunk: a, endChunk: r + 1});
+ a = i;
+ }
+ n + 1 === e.length && t.push({beginChunk: a, endChunk: i + 1});
+ r = i;
+ }
+ return t;
+ }
+ onProgress(e) {
+ this.msgHandler.send('DocProgress', {
+ loaded: this.stream.numChunksLoaded * this.chunkSize + e.loaded,
+ total: this.length,
+ });
+ }
+ onReceiveData(e) {
+ const t = e.chunk,
+ a = void 0 === e.begin,
+ r = a ? this.progressiveDataLength : e.begin,
+ n = r + t.byteLength,
+ i = Math.floor(r / this.chunkSize),
+ s = n < this.length ? Math.floor(n / this.chunkSize) : Math.ceil(n / this.chunkSize);
+ if (a) {
+ this.stream.onReceiveProgressiveData(t);
+ this.progressiveDataLength = n;
+ } else this.stream.onReceiveData(r, t);
+ this.stream.isDataLoaded && this._loadedStreamCapability.resolve(this.stream);
+ const o = [];
+ for (let e = i; e < s; ++e) {
+ const t = this._requestsByChunk.get(e);
+ if (t) {
+ this._requestsByChunk.delete(e);
+ for (const a of t) {
+ const t = this._chunksNeededByRequest.get(a);
+ t.has(e) && t.delete(e);
+ t.size > 0 || o.push(a);
+ }
+ }
+ }
+ if (!this.disableAutoFetch && 0 === this._requestsByChunk.size) {
+ let e;
+ if (1 === this.stream.numChunksLoaded) {
+ const t = this.stream.numChunks - 1;
+ this.stream.hasChunk(t) || (e = t);
+ } else e = this.stream.nextEmptyChunk(s);
+ Number.isInteger(e) && this._requestChunks([e]);
+ }
+ for (const e of o) {
+ const t = this._promisesByRequest.get(e);
+ this._promisesByRequest.delete(e);
+ t.resolve();
+ }
+ this.msgHandler.send('DocProgress', {
+ loaded: this.stream.numChunksLoaded * this.chunkSize,
+ total: this.length,
+ });
+ }
+ onError(e) {
+ this._loadedStreamCapability.reject(e);
+ }
+ getBeginChunk(e) {
+ return Math.floor(e / this.chunkSize);
+ }
+ getEndChunk(e) {
+ return Math.floor((e - 1) / this.chunkSize) + 1;
+ }
+ abort(e) {
+ this.aborted = !0;
+ this.pdfNetworkStream && this.pdfNetworkStream.cancelAllRequests(e);
+ for (const t of this._promisesByRequest.values()) t.reject(e);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.StringStream = t.Stream = t.NullStream = void 0;
+ var r = a(7),
+ n = a(2);
+ class Stream extends r.BaseStream {
+ constructor(e, t, a, r) {
+ super();
+ this.bytes = e instanceof Uint8Array ? e : new Uint8Array(e);
+ this.start = t || 0;
+ this.pos = this.start;
+ this.end = t + a || this.bytes.length;
+ this.dict = r;
+ }
+ get length() {
+ return this.end - this.start;
+ }
+ get isEmpty() {
+ return 0 === this.length;
+ }
+ getByte() {
+ return this.pos >= this.end ? -1 : this.bytes[this.pos++];
+ }
+ getBytes(e) {
+ const t = this.bytes,
+ a = this.pos,
+ r = this.end;
+ if (!e) return t.subarray(a, r);
+ let n = a + e;
+ n > r && (n = r);
+ this.pos = n;
+ return t.subarray(a, n);
+ }
+ getByteRange(e, t) {
+ e < 0 && (e = 0);
+ t > this.end && (t = this.end);
+ return this.bytes.subarray(e, t);
+ }
+ reset() {
+ this.pos = this.start;
+ }
+ moveStart() {
+ this.start = this.pos;
+ }
+ makeSubStream(e, t, a = null) {
+ return new Stream(this.bytes.buffer, e, t, a);
+ }
+ }
+ t.Stream = Stream;
+ t.StringStream = class StringStream extends Stream {
+ constructor(e) {
+ super((0, n.stringToBytes)(e));
+ }
+ };
+ t.NullStream = class NullStream extends Stream {
+ constructor() {
+ super(new Uint8Array(0));
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Page = t.PDFDocument = void 0;
+ var r = a(12),
+ n = a(2),
+ i = a(6),
+ s = a(5),
+ o = a(51),
+ c = a(7),
+ l = a(67),
+ h = a(69),
+ u = a(71),
+ d = a(100),
+ f = a(17),
+ g = a(10),
+ p = a(75),
+ m = a(62),
+ b = a(15),
+ y = a(19),
+ w = a(74),
+ S = a(65),
+ x = a(76),
+ k = a(101);
+ const C = [0, 0, 612, 792];
+ class Page {
+ constructor({
+ pdfManager: e,
+ xref: t,
+ pageIndex: a,
+ pageDict: r,
+ ref: n,
+ globalIdFactory: i,
+ fontCache: s,
+ builtInCMapCache: o,
+ standardFontDataCache: c,
+ globalImageCache: l,
+ nonBlendModesSet: h,
+ xfaFactory: u,
+ }) {
+ this.pdfManager = e;
+ this.pageIndex = a;
+ this.pageDict = r;
+ this.xref = t;
+ this.ref = n;
+ this.fontCache = s;
+ this.builtInCMapCache = o;
+ this.standardFontDataCache = c;
+ this.globalImageCache = l;
+ this.nonBlendModesSet = h;
+ this.evaluatorOptions = e.evaluatorOptions;
+ this.resourcesPromise = null;
+ this.xfaFactory = u;
+ const d = {obj: 0};
+ this._localIdFactory = class extends i {
+ static createObjId() {
+ return `p${a}_${++d.obj}`;
+ }
+ static getPageObjId() {
+ return `page${n.toString()}`;
+ }
+ };
+ }
+ _getInheritableProperty(e, t = !1) {
+ const a = (0, i.getInheritableProperty)({dict: this.pageDict, key: e, getArray: t, stopWhenFound: !1});
+ return Array.isArray(a)
+ ? 1 !== a.length && a[0] instanceof s.Dict
+ ? s.Dict.merge({xref: this.xref, dictArray: a})
+ : a[0]
+ : a;
+ }
+ get content() {
+ return this.pageDict.getArray('Contents');
+ }
+ get resources() {
+ const e = this._getInheritableProperty('Resources');
+ return (0, n.shadow)(this, 'resources', e instanceof s.Dict ? e : s.Dict.empty);
+ }
+ _getBoundingBox(e) {
+ if (this.xfaData) return this.xfaData.bbox;
+ const t = this._getInheritableProperty(e, !0);
+ if (Array.isArray(t) && 4 === t.length) {
+ if (t[2] - t[0] != 0 && t[3] - t[1] != 0) return t;
+ (0, n.warn)(`Empty /${e} entry.`);
+ }
+ return null;
+ }
+ get mediaBox() {
+ return (0, n.shadow)(this, 'mediaBox', this._getBoundingBox('MediaBox') || C);
+ }
+ get cropBox() {
+ return (0, n.shadow)(this, 'cropBox', this._getBoundingBox('CropBox') || this.mediaBox);
+ }
+ get userUnit() {
+ let e = this.pageDict.get('UserUnit');
+ ('number' != typeof e || e <= 0) && (e = 1);
+ return (0, n.shadow)(this, 'userUnit', e);
+ }
+ get view() {
+ const {cropBox: e, mediaBox: t} = this;
+ let a;
+ if (e === t || (0, n.isArrayEqual)(e, t)) a = t;
+ else {
+ const r = n.Util.intersect(e, t);
+ r && r[2] - r[0] != 0 && r[3] - r[1] != 0
+ ? (a = r)
+ : (0, n.warn)('Empty /CropBox and /MediaBox intersection.');
+ }
+ return (0, n.shadow)(this, 'view', a || t);
+ }
+ get rotate() {
+ let e = this._getInheritableProperty('Rotate') || 0;
+ e % 90 != 0 ? (e = 0) : e >= 360 ? (e %= 360) : e < 0 && (e = ((e % 360) + 360) % 360);
+ return (0, n.shadow)(this, 'rotate', e);
+ }
+ _onSubStreamError(e, t, a) {
+ if (!this.evaluatorOptions.ignoreErrors) throw t;
+ e.send('UnsupportedFeature', {featureId: n.UNSUPPORTED_FEATURES.errorContentSubStream});
+ (0, n.warn)(`getContentStream - ignoring sub-stream (${a}): "${t}".`);
+ }
+ getContentStream(e) {
+ return this.pdfManager
+ .ensure(this, 'content')
+ .then((t) =>
+ t instanceof c.BaseStream
+ ? t
+ : Array.isArray(t)
+ ? new y.StreamsSequenceStream(t, this._onSubStreamError.bind(this, e))
+ : new g.NullStream()
+ );
+ }
+ get xfaData() {
+ return (0, n.shadow)(
+ this,
+ 'xfaData',
+ this.xfaFactory ? {bbox: this.xfaFactory.getBoundingBox(this.pageIndex)} : null
+ );
+ }
+ async saveNewAnnotations(e, t, a) {
+ if (this.xfaFactory) throw new Error('XFA: Cannot save new annotations.');
+ const n = new b.PartialEvaluator({
+ xref: this.xref,
+ handler: e,
+ pageIndex: this.pageIndex,
+ idFactory: this._localIdFactory,
+ fontCache: this.fontCache,
+ builtInCMapCache: this.builtInCMapCache,
+ standardFontDataCache: this.standardFontDataCache,
+ globalImageCache: this.globalImageCache,
+ options: this.evaluatorOptions,
+ }),
+ i = this.pageDict,
+ s = this.annotations.slice(),
+ o = await r.AnnotationFactory.saveNewAnnotations(n, t, a);
+ for (const {ref: e} of o.annotations) s.push(e);
+ const c = i.get('Annots');
+ i.set('Annots', s);
+ const l = [];
+ let h = null;
+ this.xref.encrypt && (h = this.xref.encrypt.createCipherTransform(this.ref.num, this.ref.gen));
+ (0, S.writeObject)(this.ref, i, l, h);
+ c && i.set('Annots', c);
+ const u = o.dependencies;
+ u.push({ref: this.ref, data: l.join('')}, ...o.annotations);
+ return u;
+ }
+ save(e, t, a) {
+ const r = new b.PartialEvaluator({
+ xref: this.xref,
+ handler: e,
+ pageIndex: this.pageIndex,
+ idFactory: this._localIdFactory,
+ fontCache: this.fontCache,
+ builtInCMapCache: this.builtInCMapCache,
+ standardFontDataCache: this.standardFontDataCache,
+ globalImageCache: this.globalImageCache,
+ options: this.evaluatorOptions,
+ });
+ return this._parsedAnnotations.then(function (e) {
+ const i = [];
+ for (const s of e)
+ s.mustBePrinted(a) &&
+ i.push(
+ s.save(r, t, a).catch(function (e) {
+ (0, n.warn)(`save - ignoring annotation data during "${t.name}" task: "${e}".`);
+ return null;
+ })
+ );
+ return Promise.all(i).then(function (e) {
+ return e.filter((e) => !!e);
+ });
+ });
+ }
+ loadResources(e) {
+ this.resourcesPromise || (this.resourcesPromise = this.pdfManager.ensure(this, 'resources'));
+ return this.resourcesPromise.then(() => new p.ObjectLoader(this.resources, e, this.xref).load());
+ }
+ getOperatorList({handler: e, sink: t, task: a, intent: s, cacheKey: o, annotationStorage: c = null}) {
+ const l = this.getContentStream(e),
+ h = this.loadResources([
+ 'ColorSpace',
+ 'ExtGState',
+ 'Font',
+ 'Pattern',
+ 'Properties',
+ 'Shading',
+ 'XObject',
+ ]),
+ u = new b.PartialEvaluator({
+ xref: this.xref,
+ handler: e,
+ pageIndex: this.pageIndex,
+ idFactory: this._localIdFactory,
+ fontCache: this.fontCache,
+ builtInCMapCache: this.builtInCMapCache,
+ standardFontDataCache: this.standardFontDataCache,
+ globalImageCache: this.globalImageCache,
+ options: this.evaluatorOptions,
+ }),
+ d = this.xfaFactory ? null : (0, i.getNewAnnotationsMap)(c);
+ let f = Promise.resolve(null);
+ if (d) {
+ const e = d.get(this.pageIndex);
+ e && (f = r.AnnotationFactory.printNewAnnotations(u, a, e));
+ }
+ const g = Promise.all([l, h]).then(([r]) => {
+ const n = new m.OperatorList(s, t);
+ e.send('StartRenderPage', {
+ transparency: u.hasBlendModes(this.resources, this.nonBlendModesSet),
+ pageIndex: this.pageIndex,
+ cacheKey: o,
+ });
+ return u
+ .getOperatorList({stream: r, task: a, resources: this.resources, operatorList: n})
+ .then(function () {
+ return n;
+ });
+ });
+ return Promise.all([g, this._parsedAnnotations, f]).then(function ([e, t, r]) {
+ r && (t = t.concat(r));
+ if (0 === t.length || s & n.RenderingIntentFlag.ANNOTATIONS_DISABLE) {
+ e.flush(!0);
+ return {length: e.totalLength};
+ }
+ const i = !!(s & n.RenderingIntentFlag.ANNOTATIONS_FORMS),
+ o = !!(s & n.RenderingIntentFlag.ANY),
+ l = !!(s & n.RenderingIntentFlag.DISPLAY),
+ h = !!(s & n.RenderingIntentFlag.PRINT),
+ d = [];
+ for (const e of t)
+ (o || (l && e.mustBeViewed(c)) || (h && e.mustBePrinted(c))) &&
+ d.push(
+ e.getOperatorList(u, a, s, i, c).catch(function (e) {
+ (0, n.warn)(`getOperatorList - ignoring annotation data during "${a.name}" task: "${e}".`);
+ return null;
+ })
+ );
+ return Promise.all(d).then(function (t) {
+ let a = !1,
+ r = !1;
+ for (const {opList: n, separateForm: i, separateCanvas: s} of t) {
+ e.addOpList(n);
+ i && (a = i);
+ s && (r = s);
+ }
+ e.flush(!0, {form: a, canvas: r});
+ return {length: e.totalLength};
+ });
+ });
+ }
+ extractTextContent({handler: e, task: t, includeMarkedContent: a, sink: r, combineTextItems: n}) {
+ const i = this.getContentStream(e),
+ s = this.loadResources(['ExtGState', 'Font', 'Properties', 'XObject']);
+ return Promise.all([i, s]).then(([i]) =>
+ new b.PartialEvaluator({
+ xref: this.xref,
+ handler: e,
+ pageIndex: this.pageIndex,
+ idFactory: this._localIdFactory,
+ fontCache: this.fontCache,
+ builtInCMapCache: this.builtInCMapCache,
+ standardFontDataCache: this.standardFontDataCache,
+ globalImageCache: this.globalImageCache,
+ options: this.evaluatorOptions,
+ }).getTextContent({
+ stream: i,
+ task: t,
+ resources: this.resources,
+ includeMarkedContent: a,
+ combineTextItems: n,
+ sink: r,
+ viewBox: this.view,
+ })
+ );
+ }
+ async getStructTree() {
+ const e = await this.pdfManager.ensureCatalog('structTreeRoot');
+ if (!e) return null;
+ return (await this.pdfManager.ensure(this, '_parseStructTree', [e])).serializable;
+ }
+ _parseStructTree(e) {
+ const t = new w.StructTreePage(e, this.pageDict);
+ t.parse();
+ return t;
+ }
+ async getAnnotationsData(e, t, a) {
+ const r = await this._parsedAnnotations;
+ if (0 === r.length) return [];
+ const i = [],
+ s = [];
+ let o;
+ const c = !!(a & n.RenderingIntentFlag.ANY),
+ l = !!(a & n.RenderingIntentFlag.DISPLAY),
+ h = !!(a & n.RenderingIntentFlag.PRINT);
+ for (const a of r) {
+ const r = c || (l && a.viewable);
+ (r || (h && a.printable)) && s.push(a.data);
+ if (a.hasTextContent && r) {
+ o ||
+ (o = new b.PartialEvaluator({
+ xref: this.xref,
+ handler: e,
+ pageIndex: this.pageIndex,
+ idFactory: this._localIdFactory,
+ fontCache: this.fontCache,
+ builtInCMapCache: this.builtInCMapCache,
+ standardFontDataCache: this.standardFontDataCache,
+ globalImageCache: this.globalImageCache,
+ options: this.evaluatorOptions,
+ }));
+ i.push(
+ a.extractTextContent(o, t, this.view).catch(function (e) {
+ (0, n.warn)(`getAnnotationsData - ignoring textContent during "${t.name}" task: "${e}".`);
+ })
+ );
+ }
+ }
+ await Promise.all(i);
+ return s;
+ }
+ get annotations() {
+ const e = this._getInheritableProperty('Annots');
+ return (0, n.shadow)(this, 'annotations', Array.isArray(e) ? e : []);
+ }
+ get _parsedAnnotations() {
+ const e = this.pdfManager.ensure(this, 'annotations').then(() => {
+ const e = [];
+ for (const t of this.annotations)
+ e.push(
+ r.AnnotationFactory.create(this.xref, t, this.pdfManager, this._localIdFactory, !1).catch(
+ function (e) {
+ (0, n.warn)(`_parsedAnnotations: "${e}".`);
+ return null;
+ }
+ )
+ );
+ return Promise.all(e).then(function (e) {
+ if (0 === e.length) return e;
+ const t = [];
+ let a;
+ for (const n of e)
+ if (n)
+ if (n instanceof r.PopupAnnotation) {
+ a || (a = []);
+ a.push(n);
+ } else t.push(n);
+ a && t.push(...a);
+ return t;
+ });
+ });
+ return (0, n.shadow)(this, '_parsedAnnotations', e);
+ }
+ get jsActions() {
+ const e = (0, i.collectActions)(this.xref, this.pageDict, n.PageActionEventType);
+ return (0, n.shadow)(this, 'jsActions', e);
+ }
+ }
+ t.Page = Page;
+ const v = new Uint8Array([37, 80, 68, 70, 45]),
+ F = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]),
+ O = new Uint8Array([101, 110, 100, 111, 98, 106]),
+ T = /^[1-9]\.\d$/;
+ function find(e, t, a = 1024, r = !1) {
+ const n = t.length,
+ i = e.peekBytes(a),
+ s = i.length - n;
+ if (s <= 0) return !1;
+ if (r) {
+ const a = n - 1;
+ let r = i.length - 1;
+ for (; r >= a; ) {
+ let s = 0;
+ for (; s < n && i[r - s] === t[a - s]; ) s++;
+ if (s >= n) {
+ e.pos += r - a;
+ return !0;
+ }
+ r--;
+ }
+ } else {
+ let a = 0;
+ for (; a <= s; ) {
+ let r = 0;
+ for (; r < n && i[a + r] === t[r]; ) r++;
+ if (r >= n) {
+ e.pos += a;
+ return !0;
+ }
+ a++;
+ }
+ }
+ return !1;
+ }
+ t.PDFDocument = class PDFDocument {
+ constructor(e, t) {
+ if (t.length <= 0) throw new n.InvalidPDFException('The PDF file is empty, i.e. its size is zero bytes.');
+ this.pdfManager = e;
+ this.stream = t;
+ this.xref = new k.XRef(t, e);
+ this._pagePromises = new Map();
+ this._version = null;
+ const a = {font: 0};
+ this._globalIdFactory = class {
+ static getDocId() {
+ return `g_${e.docId}`;
+ }
+ static createFontId() {
+ return 'f' + ++a.font;
+ }
+ static createObjId() {
+ (0, n.unreachable)('Abstract method `createObjId` called.');
+ }
+ static getPageObjId() {
+ (0, n.unreachable)('Abstract method `getPageObjId` called.');
+ }
+ };
+ }
+ parse(e) {
+ this.xref.parse(e);
+ this.catalog = new h.Catalog(this.pdfManager, this.xref);
+ this.catalog.version && (this._version = this.catalog.version);
+ }
+ get linearization() {
+ let e = null;
+ try {
+ e = f.Linearization.create(this.stream);
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, n.info)(e);
+ }
+ return (0, n.shadow)(this, 'linearization', e);
+ }
+ get startXRef() {
+ const e = this.stream;
+ let t = 0;
+ if (this.linearization) {
+ e.reset();
+ find(e, O) && (t = e.pos + 6 - e.start);
+ } else {
+ const a = 1024,
+ r = F.length;
+ let n = !1,
+ s = e.end;
+ for (; !n && s > 0; ) {
+ s -= a - r;
+ s < 0 && (s = 0);
+ e.pos = s;
+ n = find(e, F, a, !0);
+ }
+ if (n) {
+ e.skip(9);
+ let a;
+ do {
+ a = e.getByte();
+ } while ((0, i.isWhiteSpace)(a));
+ let r = '';
+ for (; a >= 32 && a <= 57; ) {
+ r += String.fromCharCode(a);
+ a = e.getByte();
+ }
+ t = parseInt(r, 10);
+ isNaN(t) && (t = 0);
+ }
+ }
+ return (0, n.shadow)(this, 'startXRef', t);
+ }
+ checkHeader() {
+ const e = this.stream;
+ e.reset();
+ if (!find(e, v)) return;
+ e.moveStart();
+ let t,
+ a = '';
+ for (; (t = e.getByte()) > 32 && !(a.length >= 12); ) a += String.fromCharCode(t);
+ this._version || (this._version = a.substring(5));
+ }
+ parseStartXRef() {
+ this.xref.setStartXRef(this.startXRef);
+ }
+ get numPages() {
+ let e = 0;
+ e = this.catalog.hasActualNumPages
+ ? this.catalog.numPages
+ : this.xfaFactory
+ ? this.xfaFactory.getNumPages()
+ : this.linearization
+ ? this.linearization.numPages
+ : this.catalog.numPages;
+ return (0, n.shadow)(this, 'numPages', e);
+ }
+ _hasOnlyDocumentSignatures(e, t = 0) {
+ return (
+ !!Array.isArray(e) &&
+ e.every((e) => {
+ if (!((e = this.xref.fetchIfRef(e)) instanceof s.Dict)) return !1;
+ if (e.has('Kids')) {
+ if (++t > 10) {
+ (0, n.warn)('_hasOnlyDocumentSignatures: maximum recursion depth reached');
+ return !1;
+ }
+ return this._hasOnlyDocumentSignatures(e.get('Kids'), t);
+ }
+ const a = (0, s.isName)(e.get('FT'), 'Sig'),
+ r = e.get('Rect'),
+ i = Array.isArray(r) && r.every((e) => 0 === e);
+ return a && i;
+ })
+ );
+ }
+ get _xfaStreams() {
+ const e = this.catalog.acroForm;
+ if (!e) return null;
+ const t = e.get('XFA'),
+ a = {
+ 'xdp:xdp': '',
+ template: '',
+ datasets: '',
+ config: '',
+ connectionSet: '',
+ localeSet: '',
+ stylesheet: '',
+ '/xdp:xdp': '',
+ };
+ if (t instanceof c.BaseStream && !t.isEmpty) {
+ a['xdp:xdp'] = t;
+ return a;
+ }
+ if (!Array.isArray(t) || 0 === t.length) return null;
+ for (let e = 0, r = t.length; e < r; e += 2) {
+ let n;
+ n = 0 === e ? 'xdp:xdp' : e === r - 2 ? '/xdp:xdp' : t[e];
+ if (!a.hasOwnProperty(n)) continue;
+ const i = this.xref.fetchIfRef(t[e + 1]);
+ i instanceof c.BaseStream && !i.isEmpty && (a[n] = i);
+ }
+ return a;
+ }
+ get xfaDatasets() {
+ const e = this._xfaStreams;
+ if (!e) return (0, n.shadow)(this, 'xfaDatasets', null);
+ for (const t of ['datasets', 'xdp:xdp']) {
+ const a = e[t];
+ if (a)
+ try {
+ const e = {[t]: (0, n.stringToUTF8String)(a.getString())};
+ return (0, n.shadow)(this, 'xfaDatasets', new d.DatasetReader(e));
+ } catch (e) {
+ (0, n.warn)('XFA - Invalid utf-8 string.');
+ break;
+ }
+ }
+ return (0, n.shadow)(this, 'xfaDatasets', null);
+ }
+ get xfaData() {
+ const e = this._xfaStreams;
+ if (!e) return null;
+ const t = Object.create(null);
+ for (const [a, r] of Object.entries(e))
+ if (r)
+ try {
+ t[a] = (0, n.stringToUTF8String)(r.getString());
+ } catch (e) {
+ (0, n.warn)('XFA - Invalid utf-8 string.');
+ return null;
+ }
+ return t;
+ }
+ get xfaFactory() {
+ let e;
+ this.pdfManager.enableXfa &&
+ this.catalog.needsRendering &&
+ this.formInfo.hasXfa &&
+ !this.formInfo.hasAcroForm &&
+ (e = this.xfaData);
+ return (0, n.shadow)(this, 'xfaFactory', e ? new x.XFAFactory(e) : null);
+ }
+ get isPureXfa() {
+ return !!this.xfaFactory && this.xfaFactory.isValid();
+ }
+ get htmlForXfa() {
+ return this.xfaFactory ? this.xfaFactory.getPages() : null;
+ }
+ async loadXfaImages() {
+ const e = await this.pdfManager.ensureCatalog('xfaImages');
+ if (!e) return;
+ const t = e.getKeys(),
+ a = new p.ObjectLoader(e, t, this.xref);
+ await a.load();
+ const r = new Map();
+ for (const a of t) {
+ const t = e.get(a);
+ t instanceof c.BaseStream && r.set(a, t.getBytes());
+ }
+ this.xfaFactory.setImages(r);
+ }
+ async loadXfaFonts(e, t) {
+ const a = await this.pdfManager.ensureCatalog('acroForm');
+ if (!a) return;
+ const r = await a.getAsync('DR');
+ if (!(r instanceof s.Dict)) return;
+ const c = new p.ObjectLoader(r, ['Font'], this.xref);
+ await c.load();
+ const l = r.get('Font');
+ if (!(l instanceof s.Dict)) return;
+ const h = Object.assign(Object.create(null), this.pdfManager.evaluatorOptions);
+ h.useSystemFonts = !1;
+ const u = new b.PartialEvaluator({
+ xref: this.xref,
+ handler: e,
+ pageIndex: -1,
+ idFactory: this._globalIdFactory,
+ fontCache: this.catalog.fontCache,
+ builtInCMapCache: this.catalog.builtInCMapCache,
+ standardFontDataCache: this.catalog.standardFontDataCache,
+ options: h,
+ }),
+ d = new m.OperatorList(),
+ f = [],
+ g = {
+ get font() {
+ return f.at(-1);
+ },
+ set font(e) {
+ f.push(e);
+ },
+ clone() {
+ return this;
+ },
+ },
+ y = new Map();
+ l.forEach((e, t) => {
+ y.set(e, t);
+ });
+ const w = [];
+ for (const [e, a] of y) {
+ const o = a.get('FontDescriptor');
+ if (!(o instanceof s.Dict)) continue;
+ let c = o.get('FontFamily');
+ c = c.replace(/[ ]+(\d)/g, '$1');
+ const l = {fontFamily: c, fontWeight: o.get('FontWeight'), italicAngle: -o.get('ItalicAngle')};
+ (0, i.validateCSSFont)(l) &&
+ w.push(
+ u.handleSetFont(r, [s.Name.get(e), 1], null, d, t, g, null, l).catch(function (e) {
+ (0, n.warn)(`loadXfaFonts: "${e}".`);
+ return null;
+ })
+ );
+ }
+ await Promise.all(w);
+ const S = this.xfaFactory.setFonts(f);
+ if (!S) return;
+ h.ignoreErrors = !0;
+ w.length = 0;
+ f.length = 0;
+ const x = new Set();
+ for (const e of S) (0, o.getXfaFontName)(`${e}-Regular`) || x.add(e);
+ x.size && S.push('PdfJS-Fallback');
+ for (const e of S)
+ if (!x.has(e))
+ for (const a of [
+ {name: 'Regular', fontWeight: 400, italicAngle: 0},
+ {name: 'Bold', fontWeight: 700, italicAngle: 0},
+ {name: 'Italic', fontWeight: 400, italicAngle: 12},
+ {name: 'BoldItalic', fontWeight: 700, italicAngle: 12},
+ ]) {
+ const i = `${e}-${a.name}`,
+ c = (0, o.getXfaFontDict)(i);
+ w.push(
+ u
+ .handleSetFont(r, [s.Name.get(i), 1], null, d, t, g, c, {
+ fontFamily: e,
+ fontWeight: a.fontWeight,
+ italicAngle: a.italicAngle,
+ })
+ .catch(function (e) {
+ (0, n.warn)(`loadXfaFonts: "${e}".`);
+ return null;
+ })
+ );
+ }
+ await Promise.all(w);
+ this.xfaFactory.appendFonts(f, x);
+ }
+ async serializeXfaData(e) {
+ return this.xfaFactory ? this.xfaFactory.serializeData(e) : null;
+ }
+ get formInfo() {
+ const e = {hasFields: !1, hasAcroForm: !1, hasXfa: !1, hasSignatures: !1},
+ t = this.catalog.acroForm;
+ if (!t) return (0, n.shadow)(this, 'formInfo', e);
+ try {
+ const a = t.get('Fields'),
+ r = Array.isArray(a) && a.length > 0;
+ e.hasFields = r;
+ const n = t.get('XFA');
+ e.hasXfa = (Array.isArray(n) && n.length > 0) || (n instanceof c.BaseStream && !n.isEmpty);
+ const i = !!(1 & t.get('SigFlags')),
+ s = i && this._hasOnlyDocumentSignatures(a);
+ e.hasAcroForm = r && !s;
+ e.hasSignatures = i;
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, n.warn)(`Cannot fetch form information: "${e}".`);
+ }
+ return (0, n.shadow)(this, 'formInfo', e);
+ }
+ get documentInfo() {
+ let e = this._version;
+ if ('string' != typeof e || !T.test(e)) {
+ (0, n.warn)(`Invalid PDF header version number: ${e}`);
+ e = null;
+ }
+ const t = {
+ PDFFormatVersion: e,
+ Language: this.catalog.lang,
+ EncryptFilterName: this.xref.encrypt ? this.xref.encrypt.filterName : null,
+ IsLinearized: !!this.linearization,
+ IsAcroFormPresent: this.formInfo.hasAcroForm,
+ IsXFAPresent: this.formInfo.hasXfa,
+ IsCollectionPresent: !!this.catalog.collection,
+ IsSignaturesPresent: this.formInfo.hasSignatures,
+ };
+ let a;
+ try {
+ a = this.xref.trailer.get('Info');
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, n.info)('The document information dictionary is invalid.');
+ }
+ if (!(a instanceof s.Dict)) return (0, n.shadow)(this, 'documentInfo', t);
+ for (const e of a.getKeys()) {
+ const r = a.get(e);
+ switch (e) {
+ case 'Title':
+ case 'Author':
+ case 'Subject':
+ case 'Keywords':
+ case 'Creator':
+ case 'Producer':
+ case 'CreationDate':
+ case 'ModDate':
+ if ('string' == typeof r) {
+ t[e] = (0, n.stringToPDFString)(r);
+ continue;
+ }
+ break;
+ case 'Trapped':
+ if (r instanceof s.Name) {
+ t[e] = r;
+ continue;
+ }
+ break;
+ default:
+ let a;
+ switch (typeof r) {
+ case 'string':
+ a = (0, n.stringToPDFString)(r);
+ break;
+ case 'number':
+ case 'boolean':
+ a = r;
+ break;
+ default:
+ r instanceof s.Name && (a = r);
+ }
+ if (void 0 === a) {
+ (0, n.warn)(`Bad value, for custom key "${e}", in Info: ${r}.`);
+ continue;
+ }
+ t.Custom || (t.Custom = Object.create(null));
+ t.Custom[e] = a;
+ continue;
+ }
+ (0, n.warn)(`Bad value, for key "${e}", in Info: ${r}.`);
+ }
+ return (0, n.shadow)(this, 'documentInfo', t);
+ }
+ get fingerprints() {
+ function validate(e) {
+ return 'string' == typeof e && e.length > 0 && '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' !== e;
+ }
+ function hexString(e) {
+ const t = [];
+ for (let a = 0, r = e.length; a < r; a++) {
+ const r = e[a].toString(16);
+ t.push(r.padStart(2, '0'));
+ }
+ return t.join('');
+ }
+ const e = this.xref.trailer.get('ID');
+ let t, a;
+ if (Array.isArray(e) && validate(e[0])) {
+ t = (0, n.stringToBytes)(e[0]);
+ e[1] !== e[0] && validate(e[1]) && (a = (0, n.stringToBytes)(e[1]));
+ } else t = (0, l.calculateMD5)(this.stream.getByteRange(0, 1024), 0, 1024);
+ return (0, n.shadow)(this, 'fingerprints', [hexString(t), a ? hexString(a) : null]);
+ }
+ async _getLinearizationPage(e) {
+ const {catalog: t, linearization: a, xref: r} = this,
+ i = s.Ref.get(a.objectNumberFirst, 0);
+ try {
+ const e = await r.fetchAsync(i);
+ if (e instanceof s.Dict) {
+ let a = e.getRaw('Type');
+ a instanceof s.Ref && (a = await r.fetchAsync(a));
+ if ((0, s.isName)(a, 'Page') || (!e.has('Type') && !e.has('Kids'))) {
+ t.pageKidsCountCache.has(i) || t.pageKidsCountCache.put(i, 1);
+ t.pageIndexCache.has(i) || t.pageIndexCache.put(i, 0);
+ return [e, i];
+ }
+ }
+ throw new n.FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.");
+ } catch (a) {
+ (0, n.warn)(`_getLinearizationPage: "${a.message}".`);
+ return t.getPageDict(e);
+ }
+ }
+ getPage(e) {
+ const t = this._pagePromises.get(e);
+ if (t) return t;
+ const {catalog: a, linearization: r, xfaFactory: n} = this;
+ let i;
+ i = n
+ ? Promise.resolve([s.Dict.empty, null])
+ : r && r.pageFirst === e
+ ? this._getLinearizationPage(e)
+ : a.getPageDict(e);
+ i = i.then(
+ ([t, r]) =>
+ new Page({
+ pdfManager: this.pdfManager,
+ xref: this.xref,
+ pageIndex: e,
+ pageDict: t,
+ ref: r,
+ globalIdFactory: this._globalIdFactory,
+ fontCache: a.fontCache,
+ builtInCMapCache: a.builtInCMapCache,
+ standardFontDataCache: a.standardFontDataCache,
+ globalImageCache: a.globalImageCache,
+ nonBlendModesSet: a.nonBlendModesSet,
+ xfaFactory: n,
+ })
+ );
+ this._pagePromises.set(e, i);
+ return i;
+ }
+ async checkFirstPage(e = !1) {
+ if (!e)
+ try {
+ await this.getPage(0);
+ } catch (e) {
+ if (e instanceof i.XRefEntryException) {
+ this._pagePromises.delete(0);
+ await this.cleanup();
+ throw new i.XRefParseException();
+ }
+ }
+ }
+ async checkLastPage(e = !1) {
+ const {catalog: t, pdfManager: a} = this;
+ t.setActualNumPages();
+ let r;
+ try {
+ await Promise.all([
+ a.ensureDoc('xfaFactory'),
+ a.ensureDoc('linearization'),
+ a.ensureCatalog('numPages'),
+ ]);
+ if (this.xfaFactory) return;
+ r = this.linearization ? this.linearization.numPages : t.numPages;
+ if (!Number.isInteger(r)) throw new n.FormatError('Page count is not an integer.');
+ if (r <= 1) return;
+ await this.getPage(r - 1);
+ } catch (s) {
+ this._pagePromises.delete(r - 1);
+ await this.cleanup();
+ if (s instanceof i.XRefEntryException && !e) throw new i.XRefParseException();
+ (0, n.warn)(`checkLastPage - invalid /Pages tree /Count: ${r}.`);
+ let o;
+ try {
+ o = await t.getAllPageDicts(e);
+ } catch (a) {
+ if (a instanceof i.XRefEntryException && !e) throw new i.XRefParseException();
+ t.setActualNumPages(1);
+ return;
+ }
+ for (const [e, [r, n]] of o) {
+ let i;
+ if (r instanceof Error) {
+ i = Promise.reject(r);
+ i.catch(() => {});
+ } else
+ i = Promise.resolve(
+ new Page({
+ pdfManager: a,
+ xref: this.xref,
+ pageIndex: e,
+ pageDict: r,
+ ref: n,
+ globalIdFactory: this._globalIdFactory,
+ fontCache: t.fontCache,
+ builtInCMapCache: t.builtInCMapCache,
+ standardFontDataCache: t.standardFontDataCache,
+ globalImageCache: t.globalImageCache,
+ nonBlendModesSet: t.nonBlendModesSet,
+ xfaFactory: null,
+ })
+ );
+ this._pagePromises.set(e, i);
+ }
+ t.setActualNumPages(o.size);
+ }
+ }
+ fontFallback(e, t) {
+ return this.catalog.fontFallback(e, t);
+ }
+ async cleanup(e = !1) {
+ return this.catalog ? this.catalog.cleanup(e) : (0, u.clearGlobalCaches)();
+ }
+ _collectFieldObjects(e, t, a) {
+ const i = this.xref.fetchIfRef(t);
+ if (i.has('T')) {
+ const t = (0, n.stringToPDFString)(i.get('T'));
+ e = '' === e ? t : `${e}.${t}`;
+ }
+ a.has(e) || a.set(e, []);
+ a.get(e).push(
+ r.AnnotationFactory.create(this.xref, t, this.pdfManager, this._localIdFactory, !0)
+ .then((e) => e && e.getFieldObject())
+ .catch(function (e) {
+ (0, n.warn)(`_collectFieldObjects: "${e}".`);
+ return null;
+ })
+ );
+ if (i.has('Kids')) {
+ const t = i.get('Kids');
+ for (const r of t) this._collectFieldObjects(e, r, a);
+ }
+ }
+ get fieldObjects() {
+ if (!this.formInfo.hasFields) return (0, n.shadow)(this, 'fieldObjects', Promise.resolve(null));
+ const e = Object.create(null),
+ t = new Map();
+ for (const e of this.catalog.acroForm.get('Fields')) this._collectFieldObjects('', e, t);
+ const a = [];
+ for (const [r, n] of t)
+ a.push(
+ Promise.all(n).then((t) => {
+ (t = t.filter((e) => !!e)).length > 0 && (e[r] = t);
+ })
+ );
+ return (0, n.shadow)(
+ this,
+ 'fieldObjects',
+ Promise.all(a).then(() => e)
+ );
+ }
+ get hasJSActions() {
+ const e = this.pdfManager.ensureDoc('_parseHasJSActions');
+ return (0, n.shadow)(this, 'hasJSActions', e);
+ }
+ async _parseHasJSActions() {
+ const [e, t] = await Promise.all([
+ this.pdfManager.ensureCatalog('jsActions'),
+ this.pdfManager.ensureDoc('fieldObjects'),
+ ]);
+ return !!e || (!!t && Object.values(t).some((e) => e.some((e) => null !== e.actions)));
+ }
+ get calculationOrderIds() {
+ const e = this.catalog.acroForm;
+ if (!e || !e.has('CO')) return (0, n.shadow)(this, 'calculationOrderIds', null);
+ const t = e.get('CO');
+ if (!Array.isArray(t) || 0 === t.length) return (0, n.shadow)(this, 'calculationOrderIds', null);
+ const a = [];
+ for (const e of t) e instanceof s.Ref && a.push(e.toString());
+ return 0 === a.length
+ ? (0, n.shadow)(this, 'calculationOrderIds', null)
+ : (0, n.shadow)(this, 'calculationOrderIds', a);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.PopupAnnotation =
+ t.MarkupAnnotation =
+ t.AnnotationFactory =
+ t.AnnotationBorderStyle =
+ t.Annotation =
+ void 0;
+ t.getQuadPoints = getQuadPoints;
+ var r = a(2),
+ n = a(6),
+ i = a(13),
+ s = a(5),
+ o = a(65),
+ c = a(7),
+ l = a(60),
+ h = a(69),
+ u = a(14),
+ d = a(72),
+ f = a(75),
+ g = a(62),
+ p = a(10),
+ m = a(76);
+ t.AnnotationFactory = class AnnotationFactory {
+ static create(e, t, a, r, n) {
+ return Promise.all([
+ a.ensureCatalog('acroForm'),
+ a.ensureCatalog('baseUrl'),
+ a.ensureDoc('xfaDatasets'),
+ n ? this._getPageIndex(e, t, a) : -1,
+ ]).then(([i, s, o, c]) => a.ensure(this, '_create', [e, t, a, r, i, o, n, c]));
+ }
+ static _create(e, t, a, i, o, c, l, h = -1) {
+ const u = e.fetchIfRef(t);
+ if (!(u instanceof s.Dict)) return;
+ const d = t instanceof s.Ref ? t.toString() : `annot_${i.createObjId()}`;
+ let f = u.get('Subtype');
+ f = f instanceof s.Name ? f.name : null;
+ const g = {
+ xref: e,
+ ref: t,
+ dict: u,
+ subtype: f,
+ id: d,
+ pdfManager: a,
+ acroForm: o instanceof s.Dict ? o : s.Dict.empty,
+ xfaDatasets: c,
+ collectFields: l,
+ pageIndex: h,
+ };
+ switch (f) {
+ case 'Link':
+ return new LinkAnnotation(g);
+ case 'Text':
+ return new TextAnnotation(g);
+ case 'Widget':
+ let e = (0, n.getInheritableProperty)({dict: u, key: 'FT'});
+ e = e instanceof s.Name ? e.name : null;
+ switch (e) {
+ case 'Tx':
+ return new TextWidgetAnnotation(g);
+ case 'Btn':
+ return new ButtonWidgetAnnotation(g);
+ case 'Ch':
+ return new ChoiceWidgetAnnotation(g);
+ case 'Sig':
+ return new SignatureWidgetAnnotation(g);
+ }
+ (0, r.warn)(`Unimplemented widget field type "${e}", falling back to base field type.`);
+ return new WidgetAnnotation(g);
+ case 'Popup':
+ return new PopupAnnotation(g);
+ case 'FreeText':
+ return new FreeTextAnnotation(g);
+ case 'Line':
+ return new LineAnnotation(g);
+ case 'Square':
+ return new SquareAnnotation(g);
+ case 'Circle':
+ return new CircleAnnotation(g);
+ case 'PolyLine':
+ return new PolylineAnnotation(g);
+ case 'Polygon':
+ return new PolygonAnnotation(g);
+ case 'Caret':
+ return new CaretAnnotation(g);
+ case 'Ink':
+ return new InkAnnotation(g);
+ case 'Highlight':
+ return new HighlightAnnotation(g);
+ case 'Underline':
+ return new UnderlineAnnotation(g);
+ case 'Squiggly':
+ return new SquigglyAnnotation(g);
+ case 'StrikeOut':
+ return new StrikeOutAnnotation(g);
+ case 'Stamp':
+ return new StampAnnotation(g);
+ case 'FileAttachment':
+ return new FileAttachmentAnnotation(g);
+ default:
+ l ||
+ (f
+ ? (0, r.warn)(`Unimplemented annotation type "${f}", falling back to base annotation.`)
+ : (0, r.warn)('Annotation is missing the required /Subtype.'));
+ return new Annotation(g);
+ }
+ }
+ static async _getPageIndex(e, t, a) {
+ try {
+ const r = await e.fetchIfRefAsync(t);
+ if (!(r instanceof s.Dict)) return -1;
+ const n = r.getRaw('P');
+ if (!(n instanceof s.Ref)) return -1;
+ return await a.ensureCatalog('getPageIndex', [n]);
+ } catch (e) {
+ (0, r.warn)(`_getPageIndex: "${e}".`);
+ return -1;
+ }
+ }
+ static async saveNewAnnotations(e, t, a) {
+ const n = e.xref;
+ let i;
+ const c = [],
+ l = [];
+ for (const h of a)
+ switch (h.annotationType) {
+ case r.AnnotationEditorType.FREETEXT:
+ if (!i) {
+ const e = new s.Dict(n);
+ e.set('BaseFont', s.Name.get('Helvetica'));
+ e.set('Type', s.Name.get('Font'));
+ e.set('Subtype', s.Name.get('Type1'));
+ e.set('Encoding', s.Name.get('WinAnsiEncoding'));
+ const t = [];
+ i = n.getNewRef();
+ (0, o.writeObject)(i, e, t, null);
+ c.push({ref: i, data: t.join('')});
+ }
+ l.push(FreeTextAnnotation.createNewAnnotation(n, h, c, {evaluator: e, task: t, baseFontRef: i}));
+ break;
+ case r.AnnotationEditorType.INK:
+ l.push(InkAnnotation.createNewAnnotation(n, h, c));
+ }
+ return {annotations: await Promise.all(l), dependencies: c};
+ }
+ static async printNewAnnotations(e, t, a) {
+ if (!a) return null;
+ const n = e.xref,
+ i = [];
+ for (const s of a)
+ switch (s.annotationType) {
+ case r.AnnotationEditorType.FREETEXT:
+ i.push(FreeTextAnnotation.createNewPrintAnnotation(n, s, {evaluator: e, task: t}));
+ break;
+ case r.AnnotationEditorType.INK:
+ i.push(InkAnnotation.createNewPrintAnnotation(n, s));
+ }
+ return Promise.all(i);
+ }
+ };
+ function getRgbColor(e, t = new Uint8ClampedArray(3)) {
+ if (!Array.isArray(e)) return t;
+ const a = t || new Uint8ClampedArray(3);
+ switch (e.length) {
+ case 0:
+ return null;
+ case 1:
+ u.ColorSpace.singletons.gray.getRgbItem(e, 0, a, 0);
+ return a;
+ case 3:
+ u.ColorSpace.singletons.rgb.getRgbItem(e, 0, a, 0);
+ return a;
+ case 4:
+ u.ColorSpace.singletons.cmyk.getRgbItem(e, 0, a, 0);
+ return a;
+ default:
+ return t;
+ }
+ }
+ function getQuadPoints(e, t) {
+ if (!e.has('QuadPoints')) return null;
+ const a = e.getArray('QuadPoints');
+ if (!Array.isArray(a) || 0 === a.length || a.length % 8 > 0) return null;
+ const r = [];
+ for (let e = 0, n = a.length / 8; e < n; e++) {
+ r.push([]);
+ for (let n = 8 * e, i = 8 * e + 8; n < i; n += 2) {
+ const i = a[n],
+ s = a[n + 1];
+ if (null !== t && (i < t[0] || i > t[2] || s < t[1] || s > t[3])) return null;
+ r[e].push({x: i, y: s});
+ }
+ }
+ return r.map((e) => {
+ const [t, a, r, n] = e.reduce(
+ ([e, t, a, r], n) => [Math.min(e, n.x), Math.max(t, n.x), Math.min(a, n.y), Math.max(r, n.y)],
+ [Number.MAX_VALUE, Number.MIN_VALUE, Number.MAX_VALUE, Number.MIN_VALUE]
+ );
+ return [
+ {x: t, y: n},
+ {x: a, y: n},
+ {x: t, y: r},
+ {x: a, y: r},
+ ];
+ });
+ }
+ function getTransformMatrix(e, t, a) {
+ const [n, i, s, o] = r.Util.getAxialAlignedBoundingBox(t, a);
+ if (n === s || i === o) return [1, 0, 0, 1, e[0], e[1]];
+ const c = (e[2] - e[0]) / (s - n),
+ l = (e[3] - e[1]) / (o - i);
+ return [c, 0, 0, l, e[0] - n * c, e[1] - i * l];
+ }
+ class Annotation {
+ constructor(e) {
+ const t = e.dict;
+ this.setTitle(t.get('T'));
+ this.setContents(t.get('Contents'));
+ this.setModificationDate(t.get('M'));
+ this.setFlags(t.get('F'));
+ this.setRectangle(t.getArray('Rect'));
+ this.setColor(t.getArray('C'));
+ this.setBorderStyle(t);
+ this.setAppearance(t);
+ this.setOptionalContent(t);
+ const a = t.get('MK');
+ this.setBorderAndBackgroundColors(a);
+ this.setRotation(a);
+ this._streams = [];
+ this.appearance && this._streams.push(this.appearance);
+ this.data = {
+ annotationFlags: this.flags,
+ borderStyle: this.borderStyle,
+ color: this.color,
+ backgroundColor: this.backgroundColor,
+ borderColor: this.borderColor,
+ rotation: this.rotation,
+ contentsObj: this._contents,
+ hasAppearance: !!this.appearance,
+ id: e.id,
+ modificationDate: this.modificationDate,
+ rect: this.rectangle,
+ subtype: e.subtype,
+ hasOwnCanvas: !1,
+ };
+ if (e.collectFields) {
+ const a = t.get('Kids');
+ if (Array.isArray(a)) {
+ const e = [];
+ for (const t of a) t instanceof s.Ref && e.push(t.toString());
+ 0 !== e.length && (this.data.kidIds = e);
+ }
+ this.data.actions = (0, n.collectActions)(e.xref, t, r.AnnotationActionEventType);
+ this.data.fieldName = this._constructFieldName(t);
+ this.data.pageIndex = e.pageIndex;
+ }
+ this._fallbackFontDict = null;
+ }
+ _hasFlag(e, t) {
+ return !!(e & t);
+ }
+ _isViewable(e) {
+ return !this._hasFlag(e, r.AnnotationFlag.INVISIBLE) && !this._hasFlag(e, r.AnnotationFlag.NOVIEW);
+ }
+ _isPrintable(e) {
+ return this._hasFlag(e, r.AnnotationFlag.PRINT) && !this._hasFlag(e, r.AnnotationFlag.INVISIBLE);
+ }
+ mustBeViewed(e) {
+ const t = e && e.get(this.data.id);
+ return t && void 0 !== t.hidden
+ ? !t.hidden
+ : this.viewable && !this._hasFlag(this.flags, r.AnnotationFlag.HIDDEN);
+ }
+ mustBePrinted(e) {
+ const t = e && e.get(this.data.id);
+ return t && void 0 !== t.print ? t.print : this.printable;
+ }
+ get viewable() {
+ return null !== this.data.quadPoints && (0 === this.flags || this._isViewable(this.flags));
+ }
+ get printable() {
+ return null !== this.data.quadPoints && 0 !== this.flags && this._isPrintable(this.flags);
+ }
+ _parseStringHelper(e) {
+ const t = 'string' == typeof e ? (0, r.stringToPDFString)(e) : '';
+ return {str: t, dir: t && 'rtl' === (0, l.bidi)(t).dir ? 'rtl' : 'ltr'};
+ }
+ setTitle(e) {
+ this._title = this._parseStringHelper(e);
+ }
+ setContents(e) {
+ this._contents = this._parseStringHelper(e);
+ }
+ setModificationDate(e) {
+ this.modificationDate = 'string' == typeof e ? e : null;
+ }
+ setFlags(e) {
+ this.flags = Number.isInteger(e) && e > 0 ? e : 0;
+ }
+ hasFlag(e) {
+ return this._hasFlag(this.flags, e);
+ }
+ setRectangle(e) {
+ Array.isArray(e) && 4 === e.length
+ ? (this.rectangle = r.Util.normalizeRect(e))
+ : (this.rectangle = [0, 0, 0, 0]);
+ }
+ setColor(e) {
+ this.color = getRgbColor(e);
+ }
+ setLineEndings(e) {
+ this.lineEndings = ['None', 'None'];
+ if (Array.isArray(e) && 2 === e.length)
+ for (let t = 0; t < 2; t++) {
+ const a = e[t];
+ if (a instanceof s.Name)
+ switch (a.name) {
+ case 'None':
+ continue;
+ case 'Square':
+ case 'Circle':
+ case 'Diamond':
+ case 'OpenArrow':
+ case 'ClosedArrow':
+ case 'Butt':
+ case 'ROpenArrow':
+ case 'RClosedArrow':
+ case 'Slash':
+ this.lineEndings[t] = a.name;
+ continue;
+ }
+ (0, r.warn)(`Ignoring invalid lineEnding: ${a}`);
+ }
+ }
+ setRotation(e) {
+ this.rotation = 0;
+ if (e instanceof s.Dict) {
+ let t = e.get('R') || 0;
+ if (Number.isInteger(t) && 0 !== t) {
+ t %= 360;
+ t < 0 && (t += 360);
+ t % 90 == 0 && (this.rotation = t);
+ }
+ }
+ }
+ setBorderAndBackgroundColors(e) {
+ if (e instanceof s.Dict) {
+ this.borderColor = getRgbColor(e.getArray('BC'), null);
+ this.backgroundColor = getRgbColor(e.getArray('BG'), null);
+ } else this.borderColor = this.backgroundColor = null;
+ }
+ setBorderStyle(e) {
+ this.borderStyle = new AnnotationBorderStyle();
+ if (e instanceof s.Dict)
+ if (e.has('BS')) {
+ const t = e.get('BS'),
+ a = t.get('Type');
+ if (!a || (0, s.isName)(a, 'Border')) {
+ this.borderStyle.setWidth(t.get('W'), this.rectangle);
+ this.borderStyle.setStyle(t.get('S'));
+ this.borderStyle.setDashArray(t.getArray('D'));
+ }
+ } else if (e.has('Border')) {
+ const t = e.getArray('Border');
+ if (Array.isArray(t) && t.length >= 3) {
+ this.borderStyle.setHorizontalCornerRadius(t[0]);
+ this.borderStyle.setVerticalCornerRadius(t[1]);
+ this.borderStyle.setWidth(t[2], this.rectangle);
+ 4 === t.length && this.borderStyle.setDashArray(t[3], !0);
+ }
+ } else this.borderStyle.setWidth(0);
+ }
+ setAppearance(e) {
+ this.appearance = null;
+ const t = e.get('AP');
+ if (!(t instanceof s.Dict)) return;
+ const a = t.get('N');
+ if (a instanceof c.BaseStream) {
+ this.appearance = a;
+ return;
+ }
+ if (!(a instanceof s.Dict)) return;
+ const r = e.get('AS');
+ r instanceof s.Name && a.has(r.name) && (this.appearance = a.get(r.name));
+ }
+ setOptionalContent(e) {
+ this.oc = null;
+ const t = e.get('OC');
+ t instanceof s.Name
+ ? (0, r.warn)('setOptionalContent: Support for /Name-entry is not implemented.')
+ : t instanceof s.Dict && (this.oc = t);
+ }
+ loadResources(e, t) {
+ return t.dict.getAsync('Resources').then((t) => {
+ if (!t) return;
+ return new f.ObjectLoader(t, e, t.xref).load().then(function () {
+ return t;
+ });
+ });
+ }
+ async getOperatorList(e, t, a, n, i) {
+ const o = this.data;
+ let c = this.appearance;
+ const l = !!(this.data.hasOwnCanvas && a & r.RenderingIntentFlag.DISPLAY);
+ if (!c) {
+ if (!l) return {opList: new g.OperatorList(), separateForm: !1, separateCanvas: !1};
+ c = new p.StringStream('');
+ c.dict = new s.Dict();
+ }
+ const h = c.dict,
+ u = await this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font'], c),
+ d = h.getArray('BBox') || [0, 0, 1, 1],
+ f = h.getArray('Matrix') || [1, 0, 0, 1, 0, 0],
+ m = getTransformMatrix(o.rect, d, f),
+ b = new g.OperatorList();
+ let y;
+ this.oc && (y = await e.parseMarkedContentProps(this.oc, null));
+ void 0 !== y && b.addOp(r.OPS.beginMarkedContentProps, ['OC', y]);
+ b.addOp(r.OPS.beginAnnotation, [o.id, o.rect, m, f, l]);
+ await e.getOperatorList({
+ stream: c,
+ task: t,
+ resources: u,
+ operatorList: b,
+ fallbackFontDict: this._fallbackFontDict,
+ });
+ b.addOp(r.OPS.endAnnotation, []);
+ void 0 !== y && b.addOp(r.OPS.endMarkedContent, []);
+ this.reset();
+ return {opList: b, separateForm: !1, separateCanvas: l};
+ }
+ async save(e, t, a) {
+ return null;
+ }
+ get hasTextContent() {
+ return !1;
+ }
+ async extractTextContent(e, t, a) {
+ if (!this.appearance) return;
+ const r = await this.loadResources(['ExtGState', 'Font', 'Properties', 'XObject'], this.appearance),
+ n = [],
+ i = [],
+ s = {
+ desiredSize: Math.Infinity,
+ ready: !0,
+ enqueue(e, t) {
+ for (const t of e.items) {
+ i.push(t.str);
+ if (t.hasEOL) {
+ n.push(i.join(''));
+ i.length = 0;
+ }
+ }
+ },
+ };
+ await e.getTextContent({
+ stream: this.appearance,
+ task: t,
+ resources: r,
+ includeMarkedContent: !0,
+ combineTextItems: !0,
+ sink: s,
+ viewBox: a,
+ });
+ this.reset();
+ i.length && n.push(i.join(''));
+ n.length > 0 && (this.data.textContent = n);
+ }
+ getFieldObject() {
+ return this.data.kidIds
+ ? {
+ id: this.data.id,
+ actions: this.data.actions,
+ name: this.data.fieldName,
+ strokeColor: this.data.borderColor,
+ fillColor: this.data.backgroundColor,
+ type: '',
+ kidIds: this.data.kidIds,
+ page: this.data.pageIndex,
+ rotation: this.rotation,
+ }
+ : null;
+ }
+ reset() {
+ for (const e of this._streams) e.reset();
+ }
+ _constructFieldName(e) {
+ if (!e.has('T') && !e.has('Parent')) {
+ (0, r.warn)('Unknown field name, falling back to empty field name.');
+ return '';
+ }
+ if (!e.has('Parent')) return (0, r.stringToPDFString)(e.get('T'));
+ const t = [];
+ e.has('T') && t.unshift((0, r.stringToPDFString)(e.get('T')));
+ let a = e;
+ const n = new s.RefSet();
+ e.objId && n.put(e.objId);
+ for (; a.has('Parent'); ) {
+ a = a.get('Parent');
+ if (!(a instanceof s.Dict) || (a.objId && n.has(a.objId))) break;
+ a.objId && n.put(a.objId);
+ a.has('T') && t.unshift((0, r.stringToPDFString)(a.get('T')));
+ }
+ return t.join('.');
+ }
+ }
+ t.Annotation = Annotation;
+ class AnnotationBorderStyle {
+ constructor() {
+ this.width = 1;
+ this.style = r.AnnotationBorderStyleType.SOLID;
+ this.dashArray = [3];
+ this.horizontalCornerRadius = 0;
+ this.verticalCornerRadius = 0;
+ }
+ setWidth(e, t = [0, 0, 0, 0]) {
+ if (e instanceof s.Name) this.width = 0;
+ else if ('number' == typeof e) {
+ if (e > 0) {
+ const a = (t[2] - t[0]) / 2,
+ n = (t[3] - t[1]) / 2;
+ if (a > 0 && n > 0 && (e > a || e > n)) {
+ (0, r.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);
+ e = 1;
+ }
+ }
+ this.width = e;
+ }
+ }
+ setStyle(e) {
+ if (e instanceof s.Name)
+ switch (e.name) {
+ case 'S':
+ this.style = r.AnnotationBorderStyleType.SOLID;
+ break;
+ case 'D':
+ this.style = r.AnnotationBorderStyleType.DASHED;
+ break;
+ case 'B':
+ this.style = r.AnnotationBorderStyleType.BEVELED;
+ break;
+ case 'I':
+ this.style = r.AnnotationBorderStyleType.INSET;
+ break;
+ case 'U':
+ this.style = r.AnnotationBorderStyleType.UNDERLINE;
+ }
+ }
+ setDashArray(e, t = !1) {
+ if (Array.isArray(e) && e.length > 0) {
+ let a = !0,
+ r = !0;
+ for (const t of e) {
+ if (!(+t >= 0)) {
+ a = !1;
+ break;
+ }
+ t > 0 && (r = !1);
+ }
+ if (a && !r) {
+ this.dashArray = e;
+ t && this.setStyle(s.Name.get('D'));
+ } else this.width = 0;
+ } else e && (this.width = 0);
+ }
+ setHorizontalCornerRadius(e) {
+ Number.isInteger(e) && (this.horizontalCornerRadius = e);
+ }
+ setVerticalCornerRadius(e) {
+ Number.isInteger(e) && (this.verticalCornerRadius = e);
+ }
+ }
+ t.AnnotationBorderStyle = AnnotationBorderStyle;
+ class MarkupAnnotation extends Annotation {
+ constructor(e) {
+ super(e);
+ const t = e.dict;
+ if (t.has('IRT')) {
+ const e = t.getRaw('IRT');
+ this.data.inReplyTo = e instanceof s.Ref ? e.toString() : null;
+ const a = t.get('RT');
+ this.data.replyType = a instanceof s.Name ? a.name : r.AnnotationReplyType.REPLY;
+ }
+ if (this.data.replyType === r.AnnotationReplyType.GROUP) {
+ const e = t.get('IRT');
+ this.setTitle(e.get('T'));
+ this.data.titleObj = this._title;
+ this.setContents(e.get('Contents'));
+ this.data.contentsObj = this._contents;
+ if (e.has('CreationDate')) {
+ this.setCreationDate(e.get('CreationDate'));
+ this.data.creationDate = this.creationDate;
+ } else this.data.creationDate = null;
+ if (e.has('M')) {
+ this.setModificationDate(e.get('M'));
+ this.data.modificationDate = this.modificationDate;
+ } else this.data.modificationDate = null;
+ this.data.hasPopup = e.has('Popup');
+ if (e.has('C')) {
+ this.setColor(e.getArray('C'));
+ this.data.color = this.color;
+ } else this.data.color = null;
+ } else {
+ this.data.titleObj = this._title;
+ this.setCreationDate(t.get('CreationDate'));
+ this.data.creationDate = this.creationDate;
+ this.data.hasPopup = t.has('Popup');
+ t.has('C') || (this.data.color = null);
+ }
+ t.has('RC') && (this.data.richText = m.XFAFactory.getRichTextAsHtml(t.get('RC')));
+ }
+ setCreationDate(e) {
+ this.creationDate = 'string' == typeof e ? e : null;
+ }
+ _setDefaultAppearance({
+ xref: e,
+ extra: t,
+ strokeColor: a,
+ fillColor: r,
+ blendMode: n,
+ strokeAlpha: i,
+ fillAlpha: o,
+ pointsCallback: c,
+ }) {
+ let l = Number.MAX_VALUE,
+ h = Number.MAX_VALUE,
+ u = Number.MIN_VALUE,
+ d = Number.MIN_VALUE;
+ const f = ['q'];
+ t && f.push(t);
+ a && f.push(`${a[0]} ${a[1]} ${a[2]} RG`);
+ r && f.push(`${r[0]} ${r[1]} ${r[2]} rg`);
+ let g = this.data.quadPoints;
+ g ||
+ (g = [
+ [
+ {x: this.rectangle[0], y: this.rectangle[3]},
+ {x: this.rectangle[2], y: this.rectangle[3]},
+ {x: this.rectangle[0], y: this.rectangle[1]},
+ {x: this.rectangle[2], y: this.rectangle[1]},
+ ],
+ ]);
+ for (const e of g) {
+ const [t, a, r, n] = c(f, e);
+ l = Math.min(l, t);
+ u = Math.max(u, a);
+ h = Math.min(h, r);
+ d = Math.max(d, n);
+ }
+ f.push('Q');
+ const m = new s.Dict(e),
+ b = new s.Dict(e);
+ b.set('Subtype', s.Name.get('Form'));
+ const y = new p.StringStream(f.join(' '));
+ y.dict = b;
+ m.set('Fm0', y);
+ const w = new s.Dict(e);
+ n && w.set('BM', s.Name.get(n));
+ 'number' == typeof i && w.set('CA', i);
+ 'number' == typeof o && w.set('ca', o);
+ const S = new s.Dict(e);
+ S.set('GS0', w);
+ const x = new s.Dict(e);
+ x.set('ExtGState', S);
+ x.set('XObject', m);
+ const k = new s.Dict(e);
+ k.set('Resources', x);
+ const C = (this.data.rect = [l, h, u, d]);
+ k.set('BBox', C);
+ this.appearance = new p.StringStream('/GS0 gs /Fm0 Do');
+ this.appearance.dict = k;
+ this._streams.push(this.appearance, y);
+ }
+ static async createNewAnnotation(e, t, a, r) {
+ const n = e.getNewRef(),
+ i = e.getNewRef(),
+ s = this.createNewDict(t, e, {apRef: i}),
+ c = await this.createNewAppearanceStream(t, e, r),
+ l = [];
+ let h = e.encrypt ? e.encrypt.createCipherTransform(i.num, i.gen) : null;
+ (0, o.writeObject)(i, c, l, h);
+ a.push({ref: i, data: l.join('')});
+ l.length = 0;
+ h = e.encrypt ? e.encrypt.createCipherTransform(n.num, n.gen) : null;
+ (0, o.writeObject)(n, s, l, h);
+ return {ref: n, data: l.join('')};
+ }
+ static async createNewPrintAnnotation(e, t, a) {
+ const r = await this.createNewAppearanceStream(t, e, a),
+ n = this.createNewDict(t, e, {ap: r});
+ return new this.prototype.constructor({dict: n, xref: e});
+ }
+ }
+ t.MarkupAnnotation = MarkupAnnotation;
+ class WidgetAnnotation extends Annotation {
+ constructor(e) {
+ super(e);
+ const t = e.dict,
+ a = this.data;
+ this.ref = e.ref;
+ a.annotationType = r.AnnotationType.WIDGET;
+ void 0 === a.fieldName && (a.fieldName = this._constructFieldName(t));
+ void 0 === a.actions && (a.actions = (0, n.collectActions)(e.xref, t, r.AnnotationActionEventType));
+ let o = (0, n.getInheritableProperty)({dict: t, key: 'V', getArray: !0});
+ a.fieldValue = this._decodeFormValue(o);
+ const c = (0, n.getInheritableProperty)({dict: t, key: 'DV', getArray: !0});
+ a.defaultFieldValue = this._decodeFormValue(c);
+ if (void 0 === o && e.xfaDatasets) {
+ const t = this._title.str;
+ if (t) {
+ this._hasValueFromXFA = !0;
+ a.fieldValue = o = e.xfaDatasets.getValue(t);
+ }
+ }
+ void 0 === o && null !== a.defaultFieldValue && (a.fieldValue = a.defaultFieldValue);
+ a.alternativeText = (0, r.stringToPDFString)(t.get('TU') || '');
+ const l = (0, n.getInheritableProperty)({dict: t, key: 'DA'}) || e.acroForm.get('DA');
+ this._defaultAppearance = 'string' == typeof l ? l : '';
+ a.defaultAppearanceData = (0, i.parseDefaultAppearance)(this._defaultAppearance);
+ const h = (0, n.getInheritableProperty)({dict: t, key: 'FT'});
+ a.fieldType = h instanceof s.Name ? h.name : null;
+ const u = (0, n.getInheritableProperty)({dict: t, key: 'DR'}),
+ d = e.acroForm.get('DR'),
+ f = this.appearance && this.appearance.dict.get('Resources');
+ this._fieldResources = {
+ localResources: u,
+ acroFormResources: d,
+ appearanceResources: f,
+ mergedResources: s.Dict.merge({xref: e.xref, dictArray: [u, f, d], mergeSubDicts: !0}),
+ };
+ a.fieldFlags = (0, n.getInheritableProperty)({dict: t, key: 'Ff'});
+ (!Number.isInteger(a.fieldFlags) || a.fieldFlags < 0) && (a.fieldFlags = 0);
+ a.readOnly = this.hasFieldFlag(r.AnnotationFieldFlag.READONLY);
+ a.required = this.hasFieldFlag(r.AnnotationFieldFlag.REQUIRED);
+ a.hidden = this._hasFlag(a.annotationFlags, r.AnnotationFlag.HIDDEN);
+ }
+ _decodeFormValue(e) {
+ return Array.isArray(e)
+ ? e.filter((e) => 'string' == typeof e).map((e) => (0, r.stringToPDFString)(e))
+ : e instanceof s.Name
+ ? (0, r.stringToPDFString)(e.name)
+ : 'string' == typeof e
+ ? (0, r.stringToPDFString)(e)
+ : null;
+ }
+ hasFieldFlag(e) {
+ return !!(this.data.fieldFlags & e);
+ }
+ static _getRotationMatrix(e, t, a) {
+ switch (e) {
+ case 90:
+ return [0, 1, -1, 0, t, 0];
+ case 180:
+ return [-1, 0, 0, -1, t, a];
+ case 270:
+ return [0, -1, 1, 0, 0, a];
+ default:
+ throw new Error('Invalid rotation');
+ }
+ }
+ getRotationMatrix(e) {
+ const t = e ? e.get(this.data.id) : void 0;
+ let a = t && t.rotation;
+ void 0 === a && (a = this.rotation);
+ if (0 === a) return r.IDENTITY_MATRIX;
+ const n = this.data.rect[2] - this.data.rect[0],
+ i = this.data.rect[3] - this.data.rect[1];
+ return WidgetAnnotation._getRotationMatrix(a, n, i);
+ }
+ getBorderAndBackgroundAppearances(e) {
+ const t = e ? e.get(this.data.id) : void 0;
+ let a = t && t.rotation;
+ void 0 === a && (a = this.rotation);
+ if (!this.backgroundColor && !this.borderColor) return '';
+ const r = this.data.rect[2] - this.data.rect[0],
+ n = this.data.rect[3] - this.data.rect[1],
+ s = 0 === a || 180 === a ? `0 0 ${r} ${n} re` : `0 0 ${n} ${r} re`;
+ let o = '';
+ this.backgroundColor && (o = `${(0, i.getPdfColor)(this.backgroundColor, !0)} ${s} f `);
+ if (this.borderColor) {
+ o += `${this.borderStyle.width || 1} w ${(0, i.getPdfColor)(this.borderColor, !1)} ${s} S `;
+ }
+ return o;
+ }
+ async getOperatorList(e, t, a, n, i) {
+ if (n && !(this instanceof SignatureWidgetAnnotation))
+ return {opList: new g.OperatorList(), separateForm: !0, separateCanvas: !1};
+ if (!this._hasText) return super.getOperatorList(e, t, a, n, i);
+ const s = await this._getAppearance(e, t, i);
+ if (this.appearance && null === s) return super.getOperatorList(e, t, a, n, i);
+ const o = new g.OperatorList();
+ if (!this._defaultAppearance || null === s) return {opList: o, separateForm: !1, separateCanvas: !1};
+ const c = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]],
+ l = getTransformMatrix(this.data.rect, c, [1, 0, 0, 1, 0, 0]);
+ let h;
+ this.oc && (h = await e.parseMarkedContentProps(this.oc, null));
+ void 0 !== h && o.addOp(r.OPS.beginMarkedContentProps, ['OC', h]);
+ o.addOp(r.OPS.beginAnnotation, [this.data.id, this.data.rect, l, this.getRotationMatrix(i), !1]);
+ const u = new p.StringStream(s);
+ await e.getOperatorList({
+ stream: u,
+ task: t,
+ resources: this._fieldResources.mergedResources,
+ operatorList: o,
+ });
+ o.addOp(r.OPS.endAnnotation, []);
+ void 0 !== h && o.addOp(r.OPS.endMarkedContent, []);
+ return {opList: o, separateForm: !1, separateCanvas: !1};
+ }
+ _getMKDict(e) {
+ const t = new s.Dict(null);
+ e && t.set('R', e);
+ this.borderColor &&
+ t.set(
+ 'BC',
+ Array.from(this.borderColor).map((e) => e / 255)
+ );
+ this.backgroundColor &&
+ t.set(
+ 'BG',
+ Array.from(this.backgroundColor).map((e) => e / 255)
+ );
+ return t.size > 0 ? t : null;
+ }
+ async save(e, t, a) {
+ const n = a ? a.get(this.data.id) : void 0;
+ let i = n && n.value,
+ c = n && n.rotation;
+ if (i === this.data.fieldValue || void 0 === i) {
+ if (!this._hasValueFromXFA && void 0 === c) return null;
+ i = i || this.data.fieldValue;
+ }
+ if (
+ void 0 === c &&
+ !this._hasValueFromXFA &&
+ Array.isArray(i) &&
+ Array.isArray(this.data.fieldValue) &&
+ i.length === this.data.fieldValue.length &&
+ i.every((e, t) => e === this.data.fieldValue[t])
+ )
+ return null;
+ void 0 === c && (c = this.rotation);
+ let l = await this._getAppearance(e, t, a);
+ if (null === l) return null;
+ const {xref: h} = e,
+ u = h.fetchIfRef(this.ref);
+ if (!(u instanceof s.Dict)) return null;
+ const d = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]],
+ f = {path: (0, r.stringToPDFString)(u.get('T') || ''), value: i},
+ g = h.getNewRef(),
+ p = new s.Dict(h);
+ p.set('N', g);
+ const m = h.encrypt;
+ let b = null,
+ y = null;
+ if (m) {
+ b = m.createCipherTransform(this.ref.num, this.ref.gen);
+ y = m.createCipherTransform(g.num, g.gen);
+ l = y.encryptString(l);
+ }
+ const encoder = (e) => ((0, r.isAscii)(e) ? e : (0, r.stringToUTF16BEString)(e));
+ u.set('V', Array.isArray(i) ? i.map(encoder) : encoder(i));
+ u.set('AP', p);
+ u.set('M', `D:${(0, r.getModificationDate)()}`);
+ const w = this._getMKDict(c);
+ w && u.set('MK', w);
+ const S = new s.Dict(h);
+ S.set('Length', l.length);
+ S.set('Subtype', s.Name.get('Form'));
+ S.set('Resources', this._getSaveFieldResources(h));
+ S.set('BBox', d);
+ const x = this.getRotationMatrix(a);
+ x !== r.IDENTITY_MATRIX && S.set('Matrix', x);
+ const k = [`${this.ref.num} ${this.ref.gen} obj\n`];
+ (0, o.writeDict)(u, k, b);
+ k.push('\nendobj\n');
+ const C = [`${g.num} ${g.gen} obj\n`];
+ (0, o.writeDict)(S, C, y);
+ C.push(' stream\n', l, '\nendstream\nendobj\n');
+ return [
+ {ref: this.ref, data: k.join(''), xfa: f},
+ {ref: g, data: C.join(''), xfa: null},
+ ];
+ }
+ async _getAppearance(e, t, a) {
+ if (this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD)) return null;
+ const n = a ? a.get(this.data.id) : void 0;
+ let s, o;
+ if (n) {
+ s = n.formattedValue || n.value;
+ o = n.rotation;
+ }
+ if (void 0 === o && void 0 === s && (!this._hasValueFromXFA || this.appearance)) return null;
+ if (void 0 === s) {
+ s = this.data.fieldValue;
+ if (!s) return '';
+ }
+ Array.isArray(s) && 1 === s.length && (s = s[0]);
+ (0, r.assert)('string' == typeof s, 'Expected `value` to be a string.');
+ s = s.trim();
+ if ('' === s) return '';
+ void 0 === o && (o = this.rotation);
+ let c = -1;
+ this.data.multiLine && (c = s.split(/\r\n|\r|\n/).length);
+ let l = this.data.rect[3] - this.data.rect[1],
+ h = this.data.rect[2] - this.data.rect[0];
+ (90 !== o && 270 !== o) || ([h, l] = [l, h]);
+ this._defaultAppearance ||
+ (this.data.defaultAppearanceData = (0, i.parseDefaultAppearance)(
+ (this._defaultAppearance = '/Helvetica 0 Tf 0 g')
+ ));
+ const u = await WidgetAnnotation._getFontData(
+ e,
+ t,
+ this.data.defaultAppearanceData,
+ this._fieldResources.mergedResources
+ ),
+ [d, f] = this._computeFontSize(l - 2, h - 4, s, u, c);
+ let g = u.descent;
+ isNaN(g) && (g = 0);
+ const p = Math.min(Math.floor((l - f) / 2), 2) + Math.abs(g) * f,
+ m = this.data.textAlignment;
+ if (this.data.multiLine) return this._getMultilineAppearance(d, s, u, f, h, l, m, 2, p, a);
+ const b = u.encodeString(s).join('');
+ if (this.data.comb) return this._getCombAppearance(d, u, b, h, 2, p, a);
+ const y = this.getBorderAndBackgroundAppearances(a);
+ if (0 === m || m > 2)
+ return `/Tx BMC q ${y}BT ` + d + ` 1 0 0 1 2 ${p} Tm (${(0, r.escapeString)(b)}) Tj ET Q EMC`;
+ return `/Tx BMC q ${y}BT ` + d + ` 1 0 0 1 0 0 Tm ${this._renderText(b, u, f, h, m, 2, p)} ET Q EMC`;
+ }
+ static async _getFontData(e, t, a, r) {
+ const n = new g.OperatorList(),
+ i = {
+ font: null,
+ clone() {
+ return this;
+ },
+ },
+ {fontName: o, fontSize: c} = a;
+ await e.handleSetFont(r, [o && s.Name.get(o), c], null, n, t, i, null);
+ return i.font;
+ }
+ _getTextWidth(e, t) {
+ return t.charsToGlyphs(e).reduce((e, t) => e + t.width, 0) / 1e3;
+ }
+ _computeFontSize(e, t, a, n, s) {
+ let {fontSize: o} = this.data.defaultAppearanceData;
+ if (!o) {
+ const roundWithTwoDigits = (e) => Math.floor(100 * e) / 100;
+ if (-1 === s) {
+ const i = this._getTextWidth(a, n);
+ o = roundWithTwoDigits(Math.min(e / r.LINE_FACTOR, t / i));
+ } else {
+ const i = a.split(/\r\n?|\n/),
+ c = [];
+ for (const e of i) {
+ const t = n.encodeString(e).join(''),
+ a = n.charsToGlyphs(t),
+ r = n.getCharPositions(t);
+ c.push({line: t, glyphs: a, positions: r});
+ }
+ const isTooBig = (a) => {
+ let r = 0;
+ for (const i of c) {
+ r += this._splitLine(null, n, a, t, i).length * a;
+ if (r > e) return !0;
+ }
+ return !1;
+ };
+ o = 12;
+ let l = o * r.LINE_FACTOR,
+ h = Math.round(e / l);
+ h = Math.max(h, s);
+ for (;;) {
+ l = e / h;
+ o = roundWithTwoDigits(l / r.LINE_FACTOR);
+ if (!isTooBig(o)) break;
+ h++;
+ }
+ }
+ const {fontName: c, fontColor: l} = this.data.defaultAppearanceData;
+ this._defaultAppearance = (0, i.createDefaultAppearance)({fontSize: o, fontName: c, fontColor: l});
+ }
+ return [this._defaultAppearance, o];
+ }
+ _renderText(e, t, a, i, s, o, c) {
+ let l;
+ if (1 === s) {
+ l = (i - this._getTextWidth(e, t) * a) / 2;
+ } else if (2 === s) {
+ l = i - this._getTextWidth(e, t) * a - o;
+ } else l = o;
+ l = (0, n.numberToString)(l);
+ return `${l} ${(c = (0, n.numberToString)(c))} Td (${(0, r.escapeString)(e)}) Tj`;
+ }
+ _getSaveFieldResources(e) {
+ const {localResources: t, appearanceResources: a, acroFormResources: r} = this._fieldResources,
+ n = this.data.defaultAppearanceData && this.data.defaultAppearanceData.fontName;
+ if (!n) return t || s.Dict.empty;
+ for (const e of [t, a])
+ if (e instanceof s.Dict) {
+ const t = e.get('Font');
+ if (t instanceof s.Dict && t.has(n)) return e;
+ }
+ if (r instanceof s.Dict) {
+ const a = r.get('Font');
+ if (a instanceof s.Dict && a.has(n)) {
+ const r = new s.Dict(e);
+ r.set(n, a.getRaw(n));
+ const i = new s.Dict(e);
+ i.set('Font', r);
+ return s.Dict.merge({xref: e, dictArray: [i, t], mergeSubDicts: !0});
+ }
+ }
+ return t || s.Dict.empty;
+ }
+ getFieldObject() {
+ return null;
+ }
+ }
+ class TextWidgetAnnotation extends WidgetAnnotation {
+ constructor(e) {
+ super(e);
+ this._hasText = !0;
+ const t = e.dict;
+ 'string' != typeof this.data.fieldValue && (this.data.fieldValue = '');
+ let a = (0, n.getInheritableProperty)({dict: t, key: 'Q'});
+ (!Number.isInteger(a) || a < 0 || a > 2) && (a = null);
+ this.data.textAlignment = a;
+ let i = (0, n.getInheritableProperty)({dict: t, key: 'MaxLen'});
+ (!Number.isInteger(i) || i < 0) && (i = 0);
+ this.data.maxLen = i;
+ this.data.multiLine = this.hasFieldFlag(r.AnnotationFieldFlag.MULTILINE);
+ this.data.comb =
+ this.hasFieldFlag(r.AnnotationFieldFlag.COMB) &&
+ !this.hasFieldFlag(r.AnnotationFieldFlag.MULTILINE) &&
+ !this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD) &&
+ !this.hasFieldFlag(r.AnnotationFieldFlag.FILESELECT) &&
+ 0 !== this.data.maxLen;
+ this.data.doNotScroll = this.hasFieldFlag(r.AnnotationFieldFlag.DONOTSCROLL);
+ }
+ _getCombAppearance(e, t, a, i, s, o, c) {
+ const l = (0, n.numberToString)(i / this.data.maxLen),
+ h = [],
+ u = t.getCharPositions(a);
+ for (const [e, t] of u) h.push(`(${(0, r.escapeString)(a.substring(e, t))}) Tj`);
+ return (
+ `/Tx BMC q ${this.getBorderAndBackgroundAppearances(c)}BT ` +
+ e +
+ ` 1 0 0 1 ${s} ${o} Tm ${h.join(` ${l} 0 Td `)} ET Q EMC`
+ );
+ }
+ _getMultilineAppearance(e, t, a, r, n, i, s, o, c, l) {
+ const h = t.split(/\r\n?|\n/),
+ u = [],
+ d = n - 2 * o;
+ for (const e of h) {
+ const t = this._splitLine(e, a, r, d);
+ for (const e of t) {
+ const t = 0 === u.length ? o : 0;
+ u.push(this._renderText(e, a, r, n, s, t, -r));
+ }
+ }
+ const f = u.join('\n');
+ return (
+ `/Tx BMC q ${this.getBorderAndBackgroundAppearances(l)}BT ` + e + ` 1 0 0 1 0 ${i} Tm ${f} ET Q EMC`
+ );
+ }
+ _splitLine(e, t, a, r, n = {}) {
+ e = n.line || t.encodeString(e).join('');
+ const i = n.glyphs || t.charsToGlyphs(e);
+ if (i.length <= 1) return [e];
+ const s = n.positions || t.getCharPositions(e),
+ o = a / 1e3,
+ c = [];
+ let l = -1,
+ h = -1,
+ u = -1,
+ d = 0,
+ f = 0;
+ for (let t = 0, a = i.length; t < a; t++) {
+ const [a, n] = s[t],
+ g = i[t],
+ p = g.width * o;
+ if (' ' === g.unicode)
+ if (f + p > r) {
+ c.push(e.substring(d, a));
+ d = a;
+ f = p;
+ l = -1;
+ u = -1;
+ } else {
+ f += p;
+ l = a;
+ h = n;
+ u = t;
+ }
+ else if (f + p > r)
+ if (-1 !== l) {
+ c.push(e.substring(d, h));
+ d = h;
+ t = u + 1;
+ l = -1;
+ f = 0;
+ } else {
+ c.push(e.substring(d, a));
+ d = a;
+ f = p;
+ }
+ else f += p;
+ }
+ d < e.length && c.push(e.substring(d, e.length));
+ return c;
+ }
+ getFieldObject() {
+ return {
+ id: this.data.id,
+ value: this.data.fieldValue,
+ defaultValue: this.data.defaultFieldValue || '',
+ multiline: this.data.multiLine,
+ password: this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD),
+ charLimit: this.data.maxLen,
+ comb: this.data.comb,
+ editable: !this.data.readOnly,
+ hidden: this.data.hidden,
+ name: this.data.fieldName,
+ rect: this.data.rect,
+ actions: this.data.actions,
+ page: this.data.pageIndex,
+ strokeColor: this.data.borderColor,
+ fillColor: this.data.backgroundColor,
+ rotation: this.rotation,
+ type: 'text',
+ };
+ }
+ }
+ class ButtonWidgetAnnotation extends WidgetAnnotation {
+ constructor(e) {
+ super(e);
+ this.checkedAppearance = null;
+ this.uncheckedAppearance = null;
+ this.data.checkBox =
+ !this.hasFieldFlag(r.AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(r.AnnotationFieldFlag.PUSHBUTTON);
+ this.data.radioButton =
+ this.hasFieldFlag(r.AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(r.AnnotationFieldFlag.PUSHBUTTON);
+ this.data.pushButton = this.hasFieldFlag(r.AnnotationFieldFlag.PUSHBUTTON);
+ this.data.isTooltipOnly = !1;
+ if (this.data.checkBox) this._processCheckBox(e);
+ else if (this.data.radioButton) this._processRadioButton(e);
+ else if (this.data.pushButton) {
+ this.data.hasOwnCanvas = !0;
+ this._processPushButton(e);
+ } else (0, r.warn)('Invalid field flags for button widget annotation');
+ }
+ async getOperatorList(e, t, a, n, i) {
+ if (this.data.pushButton) return super.getOperatorList(e, t, a, !1, i);
+ let s = null,
+ o = null;
+ if (i) {
+ const e = i.get(this.data.id);
+ s = e ? e.value : null;
+ o = e ? e.rotation : null;
+ }
+ if (null === s && this.appearance) return super.getOperatorList(e, t, a, n, i);
+ null == s &&
+ (s = this.data.checkBox
+ ? this.data.fieldValue === this.data.exportValue
+ : this.data.fieldValue === this.data.buttonValue);
+ const c = s ? this.checkedAppearance : this.uncheckedAppearance;
+ if (c) {
+ const s = this.appearance,
+ l = c.dict.getArray('Matrix') || r.IDENTITY_MATRIX;
+ o && c.dict.set('Matrix', this.getRotationMatrix(i));
+ this.appearance = c;
+ const h = super.getOperatorList(e, t, a, n, i);
+ this.appearance = s;
+ c.dict.set('Matrix', l);
+ return h;
+ }
+ return {opList: new g.OperatorList(), separateForm: !1, separateCanvas: !1};
+ }
+ async save(e, t, a) {
+ return this.data.checkBox
+ ? this._saveCheckbox(e, t, a)
+ : this.data.radioButton
+ ? this._saveRadioButton(e, t, a)
+ : null;
+ }
+ async _saveCheckbox(e, t, a) {
+ if (!a) return null;
+ const n = a.get(this.data.id);
+ let i = n && n.rotation,
+ c = n && n.value;
+ if (void 0 === i) {
+ if (void 0 === c) return null;
+ if ((this.data.fieldValue === this.data.exportValue) === c) return null;
+ }
+ const l = e.xref.fetchIfRef(this.ref);
+ if (!(l instanceof s.Dict)) return null;
+ void 0 === i && (i = this.rotation);
+ void 0 === c && (c = this.data.fieldValue === this.data.exportValue);
+ const h = {path: (0, r.stringToPDFString)(l.get('T') || ''), value: c ? this.data.exportValue : ''},
+ u = s.Name.get(c ? this.data.exportValue : 'Off');
+ l.set('V', u);
+ l.set('AS', u);
+ l.set('M', `D:${(0, r.getModificationDate)()}`);
+ const d = this._getMKDict(i);
+ d && l.set('MK', d);
+ const f = e.xref.encrypt;
+ let g = null;
+ f && (g = f.createCipherTransform(this.ref.num, this.ref.gen));
+ const p = [`${this.ref.num} ${this.ref.gen} obj\n`];
+ (0, o.writeDict)(l, p, g);
+ p.push('\nendobj\n');
+ return [{ref: this.ref, data: p.join(''), xfa: h}];
+ }
+ async _saveRadioButton(e, t, a) {
+ if (!a) return null;
+ const n = a.get(this.data.id);
+ let i = n && n.rotation,
+ c = n && n.value;
+ if (void 0 === i) {
+ if (void 0 === c) return null;
+ if ((this.data.fieldValue === this.data.buttonValue) === c) return null;
+ }
+ const l = e.xref.fetchIfRef(this.ref);
+ if (!(l instanceof s.Dict)) return null;
+ void 0 === c && (c = this.data.fieldValue === this.data.buttonValue);
+ void 0 === i && (i = this.rotation);
+ const h = {path: (0, r.stringToPDFString)(l.get('T') || ''), value: c ? this.data.buttonValue : ''},
+ u = s.Name.get(c ? this.data.buttonValue : 'Off');
+ let d = null;
+ const f = e.xref.encrypt;
+ if (c)
+ if (this.parent instanceof s.Ref) {
+ const t = e.xref.fetch(this.parent);
+ let a = null;
+ f && (a = f.createCipherTransform(this.parent.num, this.parent.gen));
+ t.set('V', u);
+ d = [`${this.parent.num} ${this.parent.gen} obj\n`];
+ (0, o.writeDict)(t, d, a);
+ d.push('\nendobj\n');
+ } else this.parent instanceof s.Dict && this.parent.set('V', u);
+ l.set('AS', u);
+ l.set('M', `D:${(0, r.getModificationDate)()}`);
+ const g = this._getMKDict(i);
+ g && l.set('MK', g);
+ let p = null;
+ f && (p = f.createCipherTransform(this.ref.num, this.ref.gen));
+ const m = [`${this.ref.num} ${this.ref.gen} obj\n`];
+ (0, o.writeDict)(l, m, p);
+ m.push('\nendobj\n');
+ const b = [{ref: this.ref, data: m.join(''), xfa: h}];
+ null !== d && b.push({ref: this.parent, data: d.join(''), xfa: null});
+ return b;
+ }
+ _getDefaultCheckedAppearance(e, t) {
+ const a = this.data.rect[2] - this.data.rect[0],
+ i = this.data.rect[3] - this.data.rect[1],
+ o = [0, 0, a, i],
+ c = 0.8 * Math.min(a, i);
+ let l, h;
+ if ('check' === t) {
+ l = {width: 0.755 * c, height: 0.705 * c};
+ h = '3';
+ } else if ('disc' === t) {
+ l = {width: 0.791 * c, height: 0.705 * c};
+ h = 'l';
+ } else (0, r.unreachable)(`_getDefaultCheckedAppearance - unsupported type: ${t}`);
+ const u = `q BT /PdfJsZaDb ${c} Tf 0 g ${(0, n.numberToString)((a - l.width) / 2)} ${(0, n.numberToString)((i - l.height) / 2)} Td (${h}) Tj ET Q`,
+ d = new s.Dict(e.xref);
+ d.set('FormType', 1);
+ d.set('Subtype', s.Name.get('Form'));
+ d.set('Type', s.Name.get('XObject'));
+ d.set('BBox', o);
+ d.set('Matrix', [1, 0, 0, 1, 0, 0]);
+ d.set('Length', u.length);
+ const f = new s.Dict(e.xref),
+ g = new s.Dict(e.xref);
+ g.set('PdfJsZaDb', this.fallbackFontDict);
+ f.set('Font', g);
+ d.set('Resources', f);
+ this.checkedAppearance = new p.StringStream(u);
+ this.checkedAppearance.dict = d;
+ this._streams.push(this.checkedAppearance);
+ }
+ _processCheckBox(e) {
+ const t = e.dict.get('AP');
+ if (!(t instanceof s.Dict)) return;
+ const a = t.get('N');
+ if (!(a instanceof s.Dict)) return;
+ const r = this._decodeFormValue(e.dict.get('AS'));
+ 'string' == typeof r && (this.data.fieldValue = r);
+ const n = null !== this.data.fieldValue && 'Off' !== this.data.fieldValue ? this.data.fieldValue : 'Yes',
+ i = a.getKeys();
+ if (0 === i.length) i.push('Off', n);
+ else if (1 === i.length) 'Off' === i[0] ? i.push(n) : i.unshift('Off');
+ else if (i.includes(n)) {
+ i.length = 0;
+ i.push('Off', n);
+ } else {
+ const e = i.find((e) => 'Off' !== e);
+ i.length = 0;
+ i.push('Off', e);
+ }
+ i.includes(this.data.fieldValue) || (this.data.fieldValue = 'Off');
+ this.data.exportValue = i[1];
+ this.checkedAppearance = a.get(this.data.exportValue) || null;
+ this.uncheckedAppearance = a.get('Off') || null;
+ this.checkedAppearance
+ ? this._streams.push(this.checkedAppearance)
+ : this._getDefaultCheckedAppearance(e, 'check');
+ this.uncheckedAppearance && this._streams.push(this.uncheckedAppearance);
+ this._fallbackFontDict = this.fallbackFontDict;
+ }
+ _processRadioButton(e) {
+ this.data.fieldValue = this.data.buttonValue = null;
+ const t = e.dict.get('Parent');
+ if (t instanceof s.Dict) {
+ this.parent = e.dict.getRaw('Parent');
+ const a = t.get('V');
+ a instanceof s.Name && (this.data.fieldValue = this._decodeFormValue(a));
+ }
+ const a = e.dict.get('AP');
+ if (!(a instanceof s.Dict)) return;
+ const r = a.get('N');
+ if (r instanceof s.Dict) {
+ for (const e of r.getKeys())
+ if ('Off' !== e) {
+ this.data.buttonValue = this._decodeFormValue(e);
+ break;
+ }
+ this.checkedAppearance = r.get(this.data.buttonValue) || null;
+ this.uncheckedAppearance = r.get('Off') || null;
+ this.checkedAppearance
+ ? this._streams.push(this.checkedAppearance)
+ : this._getDefaultCheckedAppearance(e, 'disc');
+ this.uncheckedAppearance && this._streams.push(this.uncheckedAppearance);
+ this._fallbackFontDict = this.fallbackFontDict;
+ }
+ }
+ _processPushButton(e) {
+ if (e.dict.has('A') || e.dict.has('AA') || this.data.alternativeText) {
+ this.data.isTooltipOnly = !e.dict.has('A') && !e.dict.has('AA');
+ h.Catalog.parseDestDictionary({
+ destDict: e.dict,
+ resultObj: this.data,
+ docBaseUrl: e.pdfManager.docBaseUrl,
+ });
+ } else (0, r.warn)('Push buttons without action dictionaries are not supported');
+ }
+ getFieldObject() {
+ let e,
+ t = 'button';
+ if (this.data.checkBox) {
+ t = 'checkbox';
+ e = this.data.exportValue;
+ } else if (this.data.radioButton) {
+ t = 'radiobutton';
+ e = this.data.buttonValue;
+ }
+ return {
+ id: this.data.id,
+ value: this.data.fieldValue || 'Off',
+ defaultValue: this.data.defaultFieldValue,
+ exportValues: e,
+ editable: !this.data.readOnly,
+ name: this.data.fieldName,
+ rect: this.data.rect,
+ hidden: this.data.hidden,
+ actions: this.data.actions,
+ page: this.data.pageIndex,
+ strokeColor: this.data.borderColor,
+ fillColor: this.data.backgroundColor,
+ rotation: this.rotation,
+ type: t,
+ };
+ }
+ get fallbackFontDict() {
+ const e = new s.Dict();
+ e.set('BaseFont', s.Name.get('ZapfDingbats'));
+ e.set('Type', s.Name.get('FallbackType'));
+ e.set('Subtype', s.Name.get('FallbackType'));
+ e.set('Encoding', s.Name.get('ZapfDingbatsEncoding'));
+ return (0, r.shadow)(this, 'fallbackFontDict', e);
+ }
+ }
+ class ChoiceWidgetAnnotation extends WidgetAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.options = [];
+ const t = (0, n.getInheritableProperty)({dict: e.dict, key: 'Opt'});
+ if (Array.isArray(t)) {
+ const a = e.xref;
+ for (let e = 0, r = t.length; e < r; e++) {
+ const r = a.fetchIfRef(t[e]),
+ n = Array.isArray(r);
+ this.data.options[e] = {
+ exportValue: this._decodeFormValue(n ? a.fetchIfRef(r[0]) : r),
+ displayValue: this._decodeFormValue(n ? a.fetchIfRef(r[1]) : r),
+ };
+ }
+ }
+ 'string' == typeof this.data.fieldValue
+ ? (this.data.fieldValue = [this.data.fieldValue])
+ : this.data.fieldValue || (this.data.fieldValue = []);
+ this.data.combo = this.hasFieldFlag(r.AnnotationFieldFlag.COMBO);
+ this.data.multiSelect = this.hasFieldFlag(r.AnnotationFieldFlag.MULTISELECT);
+ this._hasText = !0;
+ }
+ getFieldObject() {
+ const e = this.data.combo ? 'combobox' : 'listbox',
+ t = this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null;
+ return {
+ id: this.data.id,
+ value: t,
+ defaultValue: this.data.defaultFieldValue,
+ editable: !this.data.readOnly,
+ name: this.data.fieldName,
+ rect: this.data.rect,
+ numItems: this.data.fieldValue.length,
+ multipleSelection: this.data.multiSelect,
+ hidden: this.data.hidden,
+ actions: this.data.actions,
+ items: this.data.options,
+ page: this.data.pageIndex,
+ strokeColor: this.data.borderColor,
+ fillColor: this.data.backgroundColor,
+ rotation: this.rotation,
+ type: e,
+ };
+ }
+ async _getAppearance(e, t, a) {
+ if (this.data.combo) return super._getAppearance(e, t, a);
+ if (!a) return null;
+ const n = a.get(this.data.id);
+ if (!n) return null;
+ const s = n.rotation;
+ let o = n.value;
+ if (void 0 === s && void 0 === o) return null;
+ void 0 === o ? (o = this.data.fieldValue) : Array.isArray(o) || (o = [o]);
+ let c = this.data.rect[3] - this.data.rect[1],
+ l = this.data.rect[2] - this.data.rect[0];
+ (90 !== s && 270 !== s) || ([l, c] = [c, l]);
+ const h = this.data.options.length,
+ u = [];
+ for (let e = 0; e < h; e++) {
+ const {exportValue: t} = this.data.options[e];
+ o.includes(t) && u.push(e);
+ }
+ this._defaultAppearance ||
+ (this.data.defaultAppearanceData = (0, i.parseDefaultAppearance)(
+ (this._defaultAppearance = '/Helvetica 0 Tf 0 g')
+ ));
+ const d = await WidgetAnnotation._getFontData(
+ e,
+ t,
+ this.data.defaultAppearanceData,
+ this._fieldResources.mergedResources
+ );
+ let f,
+ {fontSize: g} = this.data.defaultAppearanceData;
+ if (g) f = this._defaultAppearance;
+ else {
+ const e = (c - 2) / h;
+ let t,
+ a = -1;
+ for (const {displayValue: e} of this.data.options) {
+ const r = this._getTextWidth(e, d);
+ if (r > a) {
+ a = r;
+ t = e;
+ }
+ }
+ [f, g] = this._computeFontSize(e, l - 4, t, d, -1);
+ }
+ const p = g * r.LINE_FACTOR,
+ m = (p - g) / 2,
+ b = Math.floor(c / p);
+ let y;
+ if (1 === u.length) {
+ const e = u[0];
+ y = e - (e % b);
+ } else y = u.length ? u[0] : 0;
+ const w = Math.min(y + b + 1, h),
+ S = ['/Tx BMC q', `1 1 ${l} ${c} re W n`];
+ if (u.length) {
+ S.push('0.600006 0.756866 0.854904 rg');
+ for (const e of u) y <= e && e < w && S.push(`1 ${c - (e - y + 1) * p} ${l} ${p} re f`);
+ }
+ S.push('BT', f, `1 0 0 1 0 ${c} Tm`);
+ for (let e = y; e < w; e++) {
+ const {displayValue: t} = this.data.options[e],
+ a = e === y ? 2 : 0,
+ r = e === y ? m : 0;
+ S.push(this._renderText(t, d, g, l, 0, a, -p + r));
+ }
+ S.push('ET Q EMC');
+ return S.join('\n');
+ }
+ }
+ class SignatureWidgetAnnotation extends WidgetAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.fieldValue = null;
+ }
+ getFieldObject() {
+ return {id: this.data.id, value: null, page: this.data.pageIndex, type: 'signature'};
+ }
+ }
+ class TextAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ const t = e.dict;
+ this.data.annotationType = r.AnnotationType.TEXT;
+ if (this.data.hasAppearance) this.data.name = 'NoIcon';
+ else {
+ this.data.rect[1] = this.data.rect[3] - 22;
+ this.data.rect[2] = this.data.rect[0] + 22;
+ this.data.name = t.has('Name') ? t.get('Name').name : 'Note';
+ }
+ if (t.has('State')) {
+ this.data.state = t.get('State') || null;
+ this.data.stateModel = t.get('StateModel') || null;
+ } else {
+ this.data.state = null;
+ this.data.stateModel = null;
+ }
+ }
+ }
+ class LinkAnnotation extends Annotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.LINK;
+ const t = getQuadPoints(e.dict, this.rectangle);
+ t && (this.data.quadPoints = t);
+ this.data.borderColor = this.data.borderColor || this.data.color;
+ h.Catalog.parseDestDictionary({
+ destDict: e.dict,
+ resultObj: this.data,
+ docBaseUrl: e.pdfManager.docBaseUrl,
+ });
+ }
+ }
+ class PopupAnnotation extends Annotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.POPUP;
+ let t = e.dict.get('Parent');
+ if (!t) {
+ (0, r.warn)('Popup annotation has a missing or invalid parent annotation.');
+ return;
+ }
+ const a = t.get('Subtype');
+ this.data.parentType = a instanceof s.Name ? a.name : null;
+ const n = e.dict.getRaw('Parent');
+ this.data.parentId = n instanceof s.Ref ? n.toString() : null;
+ const i = t.getArray('Rect');
+ Array.isArray(i) && 4 === i.length
+ ? (this.data.parentRect = r.Util.normalizeRect(i))
+ : (this.data.parentRect = [0, 0, 0, 0]);
+ const o = t.get('RT');
+ (0, s.isName)(o, r.AnnotationReplyType.GROUP) && (t = t.get('IRT'));
+ if (t.has('M')) {
+ this.setModificationDate(t.get('M'));
+ this.data.modificationDate = this.modificationDate;
+ } else this.data.modificationDate = null;
+ if (t.has('C')) {
+ this.setColor(t.getArray('C'));
+ this.data.color = this.color;
+ } else this.data.color = null;
+ if (!this.viewable) {
+ const e = t.get('F');
+ this._isViewable(e) && this.setFlags(e);
+ }
+ this.setTitle(t.get('T'));
+ this.data.titleObj = this._title;
+ this.setContents(t.get('Contents'));
+ this.data.contentsObj = this._contents;
+ t.has('RC') && (this.data.richText = m.XFAFactory.getRichTextAsHtml(t.get('RC')));
+ }
+ }
+ t.PopupAnnotation = PopupAnnotation;
+ class FreeTextAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.FREETEXT;
+ }
+ get hasTextContent() {
+ return !!this.appearance;
+ }
+ static createNewDict(e, t, {apRef: a, ap: n}) {
+ const {color: o, fontSize: c, rect: l, rotation: h, user: u, value: d} = e,
+ f = new s.Dict(t);
+ f.set('Type', s.Name.get('Annot'));
+ f.set('Subtype', s.Name.get('FreeText'));
+ f.set('CreationDate', `D:${(0, r.getModificationDate)()}`);
+ f.set('Rect', l);
+ const g = `/Helv ${c} Tf ${(0, i.getPdfColor)(o, !0)}`;
+ f.set('DA', g);
+ f.set('Contents', d);
+ f.set('F', 4);
+ f.set('Border', [0, 0, 0]);
+ f.set('Rotate', h);
+ u && f.set('T', (0, r.stringToUTF8String)(u));
+ const p = new s.Dict(t);
+ f.set('AP', p);
+ a ? p.set('N', a) : p.set('N', n);
+ return f;
+ }
+ static async createNewAppearanceStream(e, t, a) {
+ const {baseFontRef: o, evaluator: c, task: l} = a,
+ {color: h, fontSize: u, rect: d, rotation: f, value: g} = e,
+ m = new s.Dict(t),
+ b = new s.Dict(t);
+ if (o) b.set('Helv', o);
+ else {
+ const e = new s.Dict(t);
+ e.set('BaseFont', s.Name.get('Helvetica'));
+ e.set('Type', s.Name.get('Font'));
+ e.set('Subtype', s.Name.get('Type1'));
+ e.set('Encoding', s.Name.get('WinAnsiEncoding'));
+ b.set('Helv', e);
+ }
+ m.set('Font', b);
+ const y = await WidgetAnnotation._getFontData(c, l, {fontName: 'Helvetica', fontSize: u}, m),
+ [w, S, x, k] = d;
+ let C = x - w,
+ v = k - S;
+ f % 180 != 0 && ([C, v] = [v, C]);
+ const F = g.split('\n'),
+ O = u / 1e3;
+ let T = -1 / 0;
+ const M = [];
+ for (let e of F) {
+ e = y.encodeString(e).join('');
+ M.push(e);
+ let t = 0;
+ const a = y.charsToGlyphs(e);
+ for (const e of a) t += e.width * O;
+ T = Math.max(T, t);
+ }
+ let E = 1;
+ T > C && (E = C / T);
+ let D = 1;
+ const N = r.LINE_FACTOR * u,
+ R = r.LINE_DESCENT_FACTOR * u,
+ L = N * F.length;
+ L > v && (D = v / L);
+ const j = u * Math.min(E, D),
+ $ = [
+ 'q',
+ `0 0 ${(0, n.numberToString)(C)} ${(0, n.numberToString)(v)} re W n`,
+ 'BT',
+ `1 0 0 1 0 ${(0, n.numberToString)(v + R)} Tm 0 Tc ${(0, i.getPdfColor)(h, !0)}`,
+ `/Helv ${(0, n.numberToString)(j)} Tf`,
+ ],
+ _ = (0, n.numberToString)(N);
+ for (const e of M) $.push(`0 -${_} Td (${(0, r.escapeString)(e)}) Tj`);
+ $.push('ET', 'Q');
+ const U = $.join('\n'),
+ X = new s.Dict(t);
+ X.set('FormType', 1);
+ X.set('Subtype', s.Name.get('Form'));
+ X.set('Type', s.Name.get('XObject'));
+ X.set('BBox', [0, 0, C, v]);
+ X.set('Length', U.length);
+ X.set('Resources', m);
+ if (f) {
+ const e = WidgetAnnotation._getRotationMatrix(f, C, v);
+ X.set('Matrix', e);
+ }
+ const H = new p.StringStream(U);
+ H.dict = X;
+ return H;
+ }
+ }
+ class LineAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ const {dict: t} = e;
+ this.data.annotationType = r.AnnotationType.LINE;
+ const a = t.getArray('L');
+ this.data.lineCoordinates = r.Util.normalizeRect(a);
+ this.setLineEndings(t.getArray('LE'));
+ this.data.lineEndings = this.lineEndings;
+ if (!this.appearance) {
+ const n = this.color ? Array.from(this.color).map((e) => e / 255) : [0, 0, 0],
+ i = t.get('CA');
+ let s = null,
+ o = t.getArray('IC');
+ if (o) {
+ o = getRgbColor(o, null);
+ s = o ? Array.from(o).map((e) => e / 255) : null;
+ }
+ const c = s ? i : null,
+ l = this.borderStyle.width || 1,
+ h = 2 * l,
+ u = [
+ this.data.lineCoordinates[0] - h,
+ this.data.lineCoordinates[1] - h,
+ this.data.lineCoordinates[2] + h,
+ this.data.lineCoordinates[3] + h,
+ ];
+ r.Util.intersect(this.rectangle, u) || (this.rectangle = u);
+ this._setDefaultAppearance({
+ xref: e.xref,
+ extra: `${l} w`,
+ strokeColor: n,
+ fillColor: s,
+ strokeAlpha: i,
+ fillAlpha: c,
+ pointsCallback: (e, t) => {
+ e.push(`${a[0]} ${a[1]} m`, `${a[2]} ${a[3]} l`, 'S');
+ return [t[0].x - l, t[1].x + l, t[3].y - l, t[1].y + l];
+ },
+ });
+ }
+ }
+ }
+ class SquareAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.SQUARE;
+ if (!this.appearance) {
+ const t = this.color ? Array.from(this.color).map((e) => e / 255) : [0, 0, 0],
+ a = e.dict.get('CA');
+ let r = null,
+ n = e.dict.getArray('IC');
+ if (n) {
+ n = getRgbColor(n, null);
+ r = n ? Array.from(n).map((e) => e / 255) : null;
+ }
+ const i = r ? a : null;
+ if (0 === this.borderStyle.width && !r) return;
+ this._setDefaultAppearance({
+ xref: e.xref,
+ extra: `${this.borderStyle.width} w`,
+ strokeColor: t,
+ fillColor: r,
+ strokeAlpha: a,
+ fillAlpha: i,
+ pointsCallback: (e, t) => {
+ const a = t[2].x + this.borderStyle.width / 2,
+ n = t[2].y + this.borderStyle.width / 2,
+ i = t[3].x - t[2].x - this.borderStyle.width,
+ s = t[1].y - t[3].y - this.borderStyle.width;
+ e.push(`${a} ${n} ${i} ${s} re`);
+ r ? e.push('B') : e.push('S');
+ return [t[0].x, t[1].x, t[3].y, t[1].y];
+ },
+ });
+ }
+ }
+ }
+ class CircleAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.CIRCLE;
+ if (!this.appearance) {
+ const t = this.color ? Array.from(this.color).map((e) => e / 255) : [0, 0, 0],
+ a = e.dict.get('CA');
+ let r = null,
+ n = e.dict.getArray('IC');
+ if (n) {
+ n = getRgbColor(n, null);
+ r = n ? Array.from(n).map((e) => e / 255) : null;
+ }
+ const i = r ? a : null;
+ if (0 === this.borderStyle.width && !r) return;
+ const s = (4 / 3) * Math.tan(Math.PI / 8);
+ this._setDefaultAppearance({
+ xref: e.xref,
+ extra: `${this.borderStyle.width} w`,
+ strokeColor: t,
+ fillColor: r,
+ strokeAlpha: a,
+ fillAlpha: i,
+ pointsCallback: (e, t) => {
+ const a = t[0].x + this.borderStyle.width / 2,
+ n = t[0].y - this.borderStyle.width / 2,
+ i = t[3].x - this.borderStyle.width / 2,
+ o = t[3].y + this.borderStyle.width / 2,
+ c = a + (i - a) / 2,
+ l = n + (o - n) / 2,
+ h = ((i - a) / 2) * s,
+ u = ((o - n) / 2) * s;
+ e.push(
+ `${c} ${o} m`,
+ `${c + h} ${o} ${i} ${l + u} ${i} ${l} c`,
+ `${i} ${l - u} ${c + h} ${n} ${c} ${n} c`,
+ `${c - h} ${n} ${a} ${l - u} ${a} ${l} c`,
+ `${a} ${l + u} ${c - h} ${o} ${c} ${o} c`,
+ 'h'
+ );
+ r ? e.push('B') : e.push('S');
+ return [t[0].x, t[1].x, t[3].y, t[1].y];
+ },
+ });
+ }
+ }
+ }
+ class PolylineAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ const {dict: t} = e;
+ this.data.annotationType = r.AnnotationType.POLYLINE;
+ this.data.vertices = [];
+ if (!(this instanceof PolygonAnnotation)) {
+ this.setLineEndings(t.getArray('LE'));
+ this.data.lineEndings = this.lineEndings;
+ }
+ const a = t.getArray('Vertices');
+ if (Array.isArray(a)) {
+ for (let e = 0, t = a.length; e < t; e += 2) this.data.vertices.push({x: a[e], y: a[e + 1]});
+ if (!this.appearance) {
+ const a = this.color ? Array.from(this.color).map((e) => e / 255) : [0, 0, 0],
+ n = t.get('CA'),
+ i = this.borderStyle.width || 1,
+ s = 2 * i,
+ o = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
+ for (const e of this.data.vertices) {
+ o[0] = Math.min(o[0], e.x - s);
+ o[1] = Math.min(o[1], e.y - s);
+ o[2] = Math.max(o[2], e.x + s);
+ o[3] = Math.max(o[3], e.y + s);
+ }
+ r.Util.intersect(this.rectangle, o) || (this.rectangle = o);
+ this._setDefaultAppearance({
+ xref: e.xref,
+ extra: `${i} w`,
+ strokeColor: a,
+ strokeAlpha: n,
+ pointsCallback: (e, t) => {
+ const a = this.data.vertices;
+ for (let t = 0, r = a.length; t < r; t++) e.push(`${a[t].x} ${a[t].y} ${0 === t ? 'm' : 'l'}`);
+ e.push('S');
+ return [t[0].x, t[1].x, t[3].y, t[1].y];
+ },
+ });
+ }
+ }
+ }
+ }
+ class PolygonAnnotation extends PolylineAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.POLYGON;
+ }
+ }
+ class CaretAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.CARET;
+ }
+ }
+ class InkAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.INK;
+ this.data.inkLists = [];
+ const t = e.dict.getArray('InkList');
+ if (!Array.isArray(t)) return;
+ const a = e.xref;
+ for (let e = 0, r = t.length; e < r; ++e) {
+ this.data.inkLists.push([]);
+ for (let r = 0, n = t[e].length; r < n; r += 2)
+ this.data.inkLists[e].push({x: a.fetchIfRef(t[e][r]), y: a.fetchIfRef(t[e][r + 1])});
+ }
+ if (!this.appearance) {
+ const t = this.color ? Array.from(this.color).map((e) => e / 255) : [0, 0, 0],
+ a = e.dict.get('CA'),
+ n = this.borderStyle.width || 1,
+ i = 2 * n,
+ s = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
+ for (const e of this.data.inkLists)
+ for (const t of e) {
+ s[0] = Math.min(s[0], t.x - i);
+ s[1] = Math.min(s[1], t.y - i);
+ s[2] = Math.max(s[2], t.x + i);
+ s[3] = Math.max(s[3], t.y + i);
+ }
+ r.Util.intersect(this.rectangle, s) || (this.rectangle = s);
+ this._setDefaultAppearance({
+ xref: e.xref,
+ extra: `${n} w`,
+ strokeColor: t,
+ strokeAlpha: a,
+ pointsCallback: (e, t) => {
+ for (const t of this.data.inkLists) {
+ for (let a = 0, r = t.length; a < r; a++) e.push(`${t[a].x} ${t[a].y} ${0 === a ? 'm' : 'l'}`);
+ e.push('S');
+ }
+ return [t[0].x, t[1].x, t[3].y, t[1].y];
+ },
+ });
+ }
+ }
+ static createNewDict(e, t, {apRef: a, ap: n}) {
+ const {paths: i, rect: o, rotation: c} = e,
+ l = new s.Dict(t);
+ l.set('Type', s.Name.get('Annot'));
+ l.set('Subtype', s.Name.get('Ink'));
+ l.set('CreationDate', `D:${(0, r.getModificationDate)()}`);
+ l.set('Rect', o);
+ l.set(
+ 'InkList',
+ i.map((e) => e.points)
+ );
+ l.set('F', 4);
+ l.set('Border', [0, 0, 0]);
+ l.set('Rotate', c);
+ const h = new s.Dict(t);
+ l.set('AP', h);
+ a ? h.set('N', a) : h.set('N', n);
+ return l;
+ }
+ static async createNewAppearanceStream(e, t, a) {
+ const {color: r, rect: o, rotation: c, paths: l, thickness: h, opacity: u} = e,
+ [d, f, g, m] = o;
+ let b = g - d,
+ y = m - f;
+ c % 180 != 0 && ([b, y] = [y, b]);
+ const w = [`${h} w 1 J 1 j`, `${(0, i.getPdfColor)(r, !1)}`];
+ 1 !== u && w.push('/R0 gs');
+ const S = [];
+ for (const {bezier: e} of l) {
+ S.length = 0;
+ S.push(`${(0, n.numberToString)(e[0])} ${(0, n.numberToString)(e[1])} m`);
+ for (let t = 2, a = e.length; t < a; t += 6) {
+ const a = e
+ .slice(t, t + 6)
+ .map(n.numberToString)
+ .join(' ');
+ S.push(`${a} c`);
+ }
+ S.push('S');
+ w.push(S.join('\n'));
+ }
+ const x = w.join('\n'),
+ k = new s.Dict(t);
+ k.set('FormType', 1);
+ k.set('Subtype', s.Name.get('Form'));
+ k.set('Type', s.Name.get('XObject'));
+ k.set('BBox', [0, 0, b, y]);
+ k.set('Length', x.length);
+ if (c) {
+ const e = WidgetAnnotation._getRotationMatrix(c, b, y);
+ k.set('Matrix', e);
+ }
+ if (1 !== u) {
+ const e = new s.Dict(t),
+ a = new s.Dict(t),
+ r = new s.Dict(t);
+ r.set('CA', u);
+ r.set('Type', s.Name.get('ExtGState'));
+ a.set('R0', r);
+ e.set('ExtGState', a);
+ k.set('Resources', e);
+ }
+ const C = new p.StringStream(x);
+ C.dict = k;
+ return C;
+ }
+ }
+ class HighlightAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.HIGHLIGHT;
+ if ((this.data.quadPoints = getQuadPoints(e.dict, null))) {
+ const t = this.appearance && this.appearance.dict.get('Resources');
+ if (!this.appearance || !t || !t.has('ExtGState')) {
+ this.appearance && (0, r.warn)('HighlightAnnotation - ignoring built-in appearance stream.');
+ const t = this.color ? Array.from(this.color).map((e) => e / 255) : [1, 1, 0],
+ a = e.dict.get('CA');
+ this._setDefaultAppearance({
+ xref: e.xref,
+ fillColor: t,
+ blendMode: 'Multiply',
+ fillAlpha: a,
+ pointsCallback: (e, t) => {
+ e.push(
+ `${t[0].x} ${t[0].y} m`,
+ `${t[1].x} ${t[1].y} l`,
+ `${t[3].x} ${t[3].y} l`,
+ `${t[2].x} ${t[2].y} l`,
+ 'f'
+ );
+ return [t[0].x, t[1].x, t[3].y, t[1].y];
+ },
+ });
+ }
+ } else this.data.hasPopup = !1;
+ }
+ }
+ class UnderlineAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.UNDERLINE;
+ if ((this.data.quadPoints = getQuadPoints(e.dict, null))) {
+ if (!this.appearance) {
+ const t = this.color ? Array.from(this.color).map((e) => e / 255) : [0, 0, 0],
+ a = e.dict.get('CA');
+ this._setDefaultAppearance({
+ xref: e.xref,
+ extra: '[] 0 d 1 w',
+ strokeColor: t,
+ strokeAlpha: a,
+ pointsCallback: (e, t) => {
+ e.push(`${t[2].x} ${t[2].y} m`, `${t[3].x} ${t[3].y} l`, 'S');
+ return [t[0].x, t[1].x, t[3].y, t[1].y];
+ },
+ });
+ }
+ } else this.data.hasPopup = !1;
+ }
+ }
+ class SquigglyAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.SQUIGGLY;
+ if ((this.data.quadPoints = getQuadPoints(e.dict, null))) {
+ if (!this.appearance) {
+ const t = this.color ? Array.from(this.color).map((e) => e / 255) : [0, 0, 0],
+ a = e.dict.get('CA');
+ this._setDefaultAppearance({
+ xref: e.xref,
+ extra: '[] 0 d 1 w',
+ strokeColor: t,
+ strokeAlpha: a,
+ pointsCallback: (e, t) => {
+ const a = (t[0].y - t[2].y) / 6;
+ let r = a,
+ n = t[2].x;
+ const i = t[2].y,
+ s = t[3].x;
+ e.push(`${n} ${i + r} m`);
+ do {
+ n += 2;
+ r = 0 === r ? a : 0;
+ e.push(`${n} ${i + r} l`);
+ } while (n < s);
+ e.push('S');
+ return [t[2].x, s, i - 2 * a, i + 2 * a];
+ },
+ });
+ }
+ } else this.data.hasPopup = !1;
+ }
+ }
+ class StrikeOutAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.STRIKEOUT;
+ if ((this.data.quadPoints = getQuadPoints(e.dict, null))) {
+ if (!this.appearance) {
+ const t = this.color ? Array.from(this.color).map((e) => e / 255) : [0, 0, 0],
+ a = e.dict.get('CA');
+ this._setDefaultAppearance({
+ xref: e.xref,
+ extra: '[] 0 d 1 w',
+ strokeColor: t,
+ strokeAlpha: a,
+ pointsCallback: (e, t) => {
+ e.push(
+ (t[0].x + t[2].x) / 2 + ' ' + (t[0].y + t[2].y) / 2 + ' m',
+ (t[1].x + t[3].x) / 2 + ' ' + (t[1].y + t[3].y) / 2 + ' l',
+ 'S'
+ );
+ return [t[0].x, t[1].x, t[3].y, t[1].y];
+ },
+ });
+ }
+ } else this.data.hasPopup = !1;
+ }
+ }
+ class StampAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ this.data.annotationType = r.AnnotationType.STAMP;
+ }
+ }
+ class FileAttachmentAnnotation extends MarkupAnnotation {
+ constructor(e) {
+ super(e);
+ const t = new d.FileSpec(e.dict.get('FS'), e.xref);
+ this.data.annotationType = r.AnnotationType.FILEATTACHMENT;
+ this.data.file = t.serializable;
+ }
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.createDefaultAppearance = function createDefaultAppearance({fontSize: e, fontName: t, fontColor: a}) {
+ return `/${(0, r.escapePDFName)(t)} ${e} Tf ${getPdfColor(a, !0)}`;
+ };
+ t.getPdfColor = getPdfColor;
+ t.parseDefaultAppearance = function parseDefaultAppearance(e) {
+ return new DefaultAppearanceEvaluator(e).parse();
+ };
+ var r = a(6),
+ n = a(2),
+ i = a(14),
+ s = a(15),
+ o = a(5),
+ c = a(10);
+ class DefaultAppearanceEvaluator extends s.EvaluatorPreprocessor {
+ constructor(e) {
+ super(new c.StringStream(e));
+ }
+ parse() {
+ const e = {fn: 0, args: []},
+ t = {fontSize: 0, fontName: '', fontColor: new Uint8ClampedArray(3)};
+ try {
+ for (;;) {
+ e.args.length = 0;
+ if (!this.read(e)) break;
+ if (0 !== this.savedStatesDepth) continue;
+ const {fn: a, args: r} = e;
+ switch (0 | a) {
+ case n.OPS.setFont:
+ const [e, a] = r;
+ e instanceof o.Name && (t.fontName = e.name);
+ 'number' == typeof a && a > 0 && (t.fontSize = a);
+ break;
+ case n.OPS.setFillRGBColor:
+ i.ColorSpace.singletons.rgb.getRgbItem(r, 0, t.fontColor, 0);
+ break;
+ case n.OPS.setFillGray:
+ i.ColorSpace.singletons.gray.getRgbItem(r, 0, t.fontColor, 0);
+ break;
+ case n.OPS.setFillColorSpace:
+ i.ColorSpace.singletons.cmyk.getRgbItem(r, 0, t.fontColor, 0);
+ }
+ }
+ } catch (e) {
+ (0, n.warn)(`parseDefaultAppearance - ignoring errors: "${e}".`);
+ }
+ return t;
+ }
+ }
+ function getPdfColor(e, t) {
+ if (e[0] === e[1] && e[1] === e[2]) {
+ const a = e[0] / 255;
+ return `${(0, r.numberToString)(a)} ${t ? 'g' : 'G'}`;
+ }
+ return (
+ Array.from(e)
+ .map((e) => (0, r.numberToString)(e / 255))
+ .join(' ') +
+ ' ' +
+ (t ? 'rg' : 'RG')
+ );
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ColorSpace = void 0;
+ var r = a(2),
+ n = a(5),
+ i = a(7),
+ s = a(6);
+ class ColorSpace {
+ constructor(e, t) {
+ this.constructor === ColorSpace && (0, r.unreachable)('Cannot initialize ColorSpace.');
+ this.name = e;
+ this.numComps = t;
+ }
+ getRgb(e, t) {
+ const a = new Uint8ClampedArray(3);
+ this.getRgbItem(e, t, a, 0);
+ return a;
+ }
+ getRgbItem(e, t, a, n) {
+ (0, r.unreachable)('Should not call ColorSpace.getRgbItem');
+ }
+ getRgbBuffer(e, t, a, n, i, s, o) {
+ (0, r.unreachable)('Should not call ColorSpace.getRgbBuffer');
+ }
+ getOutputLength(e, t) {
+ (0, r.unreachable)('Should not call ColorSpace.getOutputLength');
+ }
+ isPassthrough(e) {
+ return !1;
+ }
+ isDefaultDecode(e, t) {
+ return ColorSpace.isDefaultDecode(e, this.numComps);
+ }
+ fillRgb(e, t, a, r, n, i, s, o, c) {
+ const l = t * a;
+ let h = null;
+ const u = 1 << s,
+ d = a !== n || t !== r;
+ if (this.isPassthrough(s)) h = o;
+ else if (1 === this.numComps && l > u && 'DeviceGray' !== this.name && 'DeviceRGB' !== this.name) {
+ const t = s <= 8 ? new Uint8Array(u) : new Uint16Array(u);
+ for (let e = 0; e < u; e++) t[e] = e;
+ const a = new Uint8ClampedArray(3 * u);
+ this.getRgbBuffer(t, 0, u, a, 0, s, 0);
+ if (d) {
+ h = new Uint8Array(3 * l);
+ let e = 0;
+ for (let t = 0; t < l; ++t) {
+ const r = 3 * o[t];
+ h[e++] = a[r];
+ h[e++] = a[r + 1];
+ h[e++] = a[r + 2];
+ }
+ } else {
+ let t = 0;
+ for (let r = 0; r < l; ++r) {
+ const n = 3 * o[r];
+ e[t++] = a[n];
+ e[t++] = a[n + 1];
+ e[t++] = a[n + 2];
+ t += c;
+ }
+ }
+ } else if (d) {
+ h = new Uint8ClampedArray(3 * l);
+ this.getRgbBuffer(o, 0, l, h, 0, s, 0);
+ } else this.getRgbBuffer(o, 0, r * i, e, 0, s, c);
+ if (h)
+ if (d)
+ !(function resizeRgbImage(e, t, a, r, n, i, s) {
+ s = 1 !== s ? 0 : s;
+ const o = a / n,
+ c = r / i;
+ let l,
+ h = 0;
+ const u = new Uint16Array(n),
+ d = 3 * a;
+ for (let e = 0; e < n; e++) u[e] = 3 * Math.floor(e * o);
+ for (let a = 0; a < i; a++) {
+ const r = Math.floor(a * c) * d;
+ for (let a = 0; a < n; a++) {
+ l = r + u[a];
+ t[h++] = e[l++];
+ t[h++] = e[l++];
+ t[h++] = e[l++];
+ h += s;
+ }
+ }
+ })(h, e, t, a, r, n, c);
+ else {
+ let t = 0,
+ a = 0;
+ for (let n = 0, s = r * i; n < s; n++) {
+ e[t++] = h[a++];
+ e[t++] = h[a++];
+ e[t++] = h[a++];
+ t += c;
+ }
+ }
+ }
+ get usesZeroToOneRange() {
+ return (0, r.shadow)(this, 'usesZeroToOneRange', !0);
+ }
+ static _cache(e, t, a, r) {
+ if (!a) throw new Error('ColorSpace._cache - expected "localColorSpaceCache" argument.');
+ if (!r) throw new Error('ColorSpace._cache - expected "parsedColorSpace" argument.');
+ let i, s;
+ if (e instanceof n.Ref) {
+ s = e;
+ e = t.fetch(e);
+ }
+ e instanceof n.Name && (i = e.name);
+ (i || s) && a.set(i, s, r);
+ }
+ static getCached(e, t, a) {
+ if (!a) throw new Error('ColorSpace.getCached - expected "localColorSpaceCache" argument.');
+ if (e instanceof n.Ref) {
+ const r = a.getByRef(e);
+ if (r) return r;
+ try {
+ e = t.fetch(e);
+ } catch (e) {
+ if (e instanceof s.MissingDataException) throw e;
+ }
+ }
+ if (e instanceof n.Name) {
+ const t = a.getByName(e.name);
+ if (t) return t;
+ }
+ return null;
+ }
+ static async parseAsync({
+ cs: e,
+ xref: t,
+ resources: a = null,
+ pdfFunctionFactory: r,
+ localColorSpaceCache: n,
+ }) {
+ const i = this._parse(e, t, a, r);
+ this._cache(e, t, n, i);
+ return i;
+ }
+ static parse({cs: e, xref: t, resources: a = null, pdfFunctionFactory: r, localColorSpaceCache: n}) {
+ const i = this.getCached(e, t, n);
+ if (i) return i;
+ const s = this._parse(e, t, a, r);
+ this._cache(e, t, n, s);
+ return s;
+ }
+ static _parse(e, t, a = null, i) {
+ if ((e = t.fetchIfRef(e)) instanceof n.Name)
+ switch (e.name) {
+ case 'G':
+ case 'DeviceGray':
+ return this.singletons.gray;
+ case 'RGB':
+ case 'DeviceRGB':
+ return this.singletons.rgb;
+ case 'CMYK':
+ case 'DeviceCMYK':
+ return this.singletons.cmyk;
+ case 'Pattern':
+ return new PatternCS(null);
+ default:
+ if (a instanceof n.Dict) {
+ const r = a.get('ColorSpace');
+ if (r instanceof n.Dict) {
+ const s = r.get(e.name);
+ if (s) {
+ if (s instanceof n.Name) return this._parse(s, t, a, i);
+ e = s;
+ break;
+ }
+ }
+ }
+ throw new r.FormatError(`Unrecognized ColorSpace: ${e.name}`);
+ }
+ if (Array.isArray(e)) {
+ const n = t.fetchIfRef(e[0]).name;
+ let s, o, u, d, f, g;
+ switch (n) {
+ case 'G':
+ case 'DeviceGray':
+ return this.singletons.gray;
+ case 'RGB':
+ case 'DeviceRGB':
+ return this.singletons.rgb;
+ case 'CMYK':
+ case 'DeviceCMYK':
+ return this.singletons.cmyk;
+ case 'CalGray':
+ s = t.fetchIfRef(e[1]);
+ d = s.getArray('WhitePoint');
+ f = s.getArray('BlackPoint');
+ g = s.get('Gamma');
+ return new c(d, f, g);
+ case 'CalRGB':
+ s = t.fetchIfRef(e[1]);
+ d = s.getArray('WhitePoint');
+ f = s.getArray('BlackPoint');
+ g = s.getArray('Gamma');
+ const p = s.getArray('Matrix');
+ return new l(d, f, g, p);
+ case 'ICCBased':
+ const m = t.fetchIfRef(e[1]).dict;
+ o = m.get('N');
+ const b = m.get('Alternate');
+ if (b) {
+ const e = this._parse(b, t, a, i);
+ if (e.numComps === o) return e;
+ (0, r.warn)('ICCBased color space: Ignoring incorrect /Alternate entry.');
+ }
+ if (1 === o) return this.singletons.gray;
+ if (3 === o) return this.singletons.rgb;
+ if (4 === o) return this.singletons.cmyk;
+ break;
+ case 'Pattern':
+ u = e[1] || null;
+ u && (u = this._parse(u, t, a, i));
+ return new PatternCS(u);
+ case 'I':
+ case 'Indexed':
+ u = this._parse(e[1], t, a, i);
+ const y = t.fetchIfRef(e[2]) + 1,
+ w = t.fetchIfRef(e[3]);
+ return new IndexedCS(u, y, w);
+ case 'Separation':
+ case 'DeviceN':
+ const S = t.fetchIfRef(e[1]);
+ o = Array.isArray(S) ? S.length : 1;
+ u = this._parse(e[2], t, a, i);
+ const x = i.create(e[3]);
+ return new AlternateCS(o, u, x);
+ case 'Lab':
+ s = t.fetchIfRef(e[1]);
+ d = s.getArray('WhitePoint');
+ f = s.getArray('BlackPoint');
+ const k = s.getArray('Range');
+ return new h(d, f, k);
+ default:
+ throw new r.FormatError(`Unimplemented ColorSpace object: ${n}`);
+ }
+ }
+ throw new r.FormatError(`Unrecognized ColorSpace object: ${e}`);
+ }
+ static isDefaultDecode(e, t) {
+ if (!Array.isArray(e)) return !0;
+ if (2 * t !== e.length) {
+ (0, r.warn)('The decode map is not the correct length');
+ return !0;
+ }
+ for (let t = 0, a = e.length; t < a; t += 2) if (0 !== e[t] || 1 !== e[t + 1]) return !1;
+ return !0;
+ }
+ static get singletons() {
+ return (0, r.shadow)(this, 'singletons', {
+ get gray() {
+ return (0, r.shadow)(this, 'gray', new DeviceGrayCS());
+ },
+ get rgb() {
+ return (0, r.shadow)(this, 'rgb', new DeviceRgbCS());
+ },
+ get cmyk() {
+ return (0, r.shadow)(this, 'cmyk', new o());
+ },
+ });
+ }
+ }
+ t.ColorSpace = ColorSpace;
+ class AlternateCS extends ColorSpace {
+ constructor(e, t, a) {
+ super('Alternate', e);
+ this.base = t;
+ this.tintFn = a;
+ this.tmpBuf = new Float32Array(t.numComps);
+ }
+ getRgbItem(e, t, a, r) {
+ const n = this.tmpBuf;
+ this.tintFn(e, t, n, 0);
+ this.base.getRgbItem(n, 0, a, r);
+ }
+ getRgbBuffer(e, t, a, r, n, i, s) {
+ const o = this.tintFn,
+ c = this.base,
+ l = 1 / ((1 << i) - 1),
+ h = c.numComps,
+ u = c.usesZeroToOneRange,
+ d = (c.isPassthrough(8) || !u) && 0 === s;
+ let f = d ? n : 0;
+ const g = d ? r : new Uint8ClampedArray(h * a),
+ p = this.numComps,
+ m = new Float32Array(p),
+ b = new Float32Array(h);
+ let y, w;
+ for (y = 0; y < a; y++) {
+ for (w = 0; w < p; w++) m[w] = e[t++] * l;
+ o(m, 0, b, 0);
+ if (u) for (w = 0; w < h; w++) g[f++] = 255 * b[w];
+ else {
+ c.getRgbItem(b, 0, g, f);
+ f += h;
+ }
+ }
+ d || c.getRgbBuffer(g, 0, a, r, n, 8, s);
+ }
+ getOutputLength(e, t) {
+ return this.base.getOutputLength((e * this.base.numComps) / this.numComps, t);
+ }
+ }
+ class PatternCS extends ColorSpace {
+ constructor(e) {
+ super('Pattern', null);
+ this.base = e;
+ }
+ isDefaultDecode(e, t) {
+ (0, r.unreachable)('Should not call PatternCS.isDefaultDecode');
+ }
+ }
+ class IndexedCS extends ColorSpace {
+ constructor(e, t, a) {
+ super('Indexed', 1);
+ this.base = e;
+ this.highVal = t;
+ const n = e.numComps * t;
+ this.lookup = new Uint8Array(n);
+ if (a instanceof i.BaseStream) {
+ const e = a.getBytes(n);
+ this.lookup.set(e);
+ } else {
+ if ('string' != typeof a) throw new r.FormatError(`IndexedCS - unrecognized lookup table: ${a}`);
+ for (let e = 0; e < n; ++e) this.lookup[e] = 255 & a.charCodeAt(e);
+ }
+ }
+ getRgbItem(e, t, a, r) {
+ const n = this.base.numComps,
+ i = e[t] * n;
+ this.base.getRgbBuffer(this.lookup, i, 1, a, r, 8, 0);
+ }
+ getRgbBuffer(e, t, a, r, n, i, s) {
+ const o = this.base,
+ c = o.numComps,
+ l = o.getOutputLength(c, s),
+ h = this.lookup;
+ for (let i = 0; i < a; ++i) {
+ const a = e[t++] * c;
+ o.getRgbBuffer(h, a, 1, r, n, 8, s);
+ n += l;
+ }
+ }
+ getOutputLength(e, t) {
+ return this.base.getOutputLength(e * this.base.numComps, t);
+ }
+ isDefaultDecode(e, t) {
+ if (!Array.isArray(e)) return !0;
+ if (2 !== e.length) {
+ (0, r.warn)('Decode map length is not correct');
+ return !0;
+ }
+ if (!Number.isInteger(t) || t < 1) {
+ (0, r.warn)('Bits per component is not correct');
+ return !0;
+ }
+ return 0 === e[0] && e[1] === (1 << t) - 1;
+ }
+ }
+ class DeviceGrayCS extends ColorSpace {
+ constructor() {
+ super('DeviceGray', 1);
+ }
+ getRgbItem(e, t, a, r) {
+ const n = 255 * e[t];
+ a[r] = a[r + 1] = a[r + 2] = n;
+ }
+ getRgbBuffer(e, t, a, r, n, i, s) {
+ const o = 255 / ((1 << i) - 1);
+ let c = t,
+ l = n;
+ for (let t = 0; t < a; ++t) {
+ const t = o * e[c++];
+ r[l++] = t;
+ r[l++] = t;
+ r[l++] = t;
+ l += s;
+ }
+ }
+ getOutputLength(e, t) {
+ return e * (3 + t);
+ }
+ }
+ class DeviceRgbCS extends ColorSpace {
+ constructor() {
+ super('DeviceRGB', 3);
+ }
+ getRgbItem(e, t, a, r) {
+ a[r] = 255 * e[t];
+ a[r + 1] = 255 * e[t + 1];
+ a[r + 2] = 255 * e[t + 2];
+ }
+ getRgbBuffer(e, t, a, r, n, i, s) {
+ if (8 === i && 0 === s) {
+ r.set(e.subarray(t, t + 3 * a), n);
+ return;
+ }
+ const o = 255 / ((1 << i) - 1);
+ let c = t,
+ l = n;
+ for (let t = 0; t < a; ++t) {
+ r[l++] = o * e[c++];
+ r[l++] = o * e[c++];
+ r[l++] = o * e[c++];
+ l += s;
+ }
+ }
+ getOutputLength(e, t) {
+ return ((e * (3 + t)) / 3) | 0;
+ }
+ isPassthrough(e) {
+ return 8 === e;
+ }
+ }
+ const o = (function DeviceCmykCSClosure() {
+ function convertToRgb(e, t, a, r, n) {
+ const i = e[t] * a,
+ s = e[t + 1] * a,
+ o = e[t + 2] * a,
+ c = e[t + 3] * a;
+ r[n] =
+ 255 +
+ i *
+ (-4.387332384609988 * i +
+ 54.48615194189176 * s +
+ 18.82290502165302 * o +
+ 212.25662451639585 * c -
+ 285.2331026137004) +
+ s * (1.7149763477362134 * s - 5.6096736904047315 * o + -17.873870861415444 * c - 5.497006427196366) +
+ o * (-2.5217340131683033 * o - 21.248923337353073 * c + 17.5119270841813) +
+ c * (-21.86122147463605 * c - 189.48180835922747);
+ r[n + 1] =
+ 255 +
+ i *
+ (8.841041422036149 * i +
+ 60.118027045597366 * s +
+ 6.871425592049007 * o +
+ 31.159100130055922 * c -
+ 79.2970844816548) +
+ s * (-15.310361306967817 * s + 17.575251261109482 * o + 131.35250912493976 * c - 190.9453302588951) +
+ o * (4.444339102852739 * o + 9.8632861493405 * c - 24.86741582555878) +
+ c * (-20.737325471181034 * c - 187.80453709719578);
+ r[n + 2] =
+ 255 +
+ i *
+ (0.8842522430003296 * i +
+ 8.078677503112928 * s +
+ 30.89978309703729 * o -
+ 0.23883238689178934 * c -
+ 14.183576799673286) +
+ s * (10.49593273432072 * s + 63.02378494754052 * o + 50.606957656360734 * c - 112.23884253719248) +
+ o * (0.03296041114873217 * o + 115.60384449646641 * c - 193.58209356861505) +
+ c * (-22.33816807309886 * c - 180.12613974708367);
+ }
+ return class DeviceCmykCS extends ColorSpace {
+ constructor() {
+ super('DeviceCMYK', 4);
+ }
+ getRgbItem(e, t, a, r) {
+ convertToRgb(e, t, 1, a, r);
+ }
+ getRgbBuffer(e, t, a, r, n, i, s) {
+ const o = 1 / ((1 << i) - 1);
+ for (let i = 0; i < a; i++) {
+ convertToRgb(e, t, o, r, n);
+ t += 4;
+ n += 3 + s;
+ }
+ }
+ getOutputLength(e, t) {
+ return ((e / 4) * (3 + t)) | 0;
+ }
+ };
+ })(),
+ c = (function CalGrayCSClosure() {
+ function convertToRgb(e, t, a, r, n, i) {
+ const s = (t[a] * i) ** e.G,
+ o = e.YW * s,
+ c = Math.max(295.8 * o ** 0.3333333333333333 - 40.8, 0);
+ r[n] = c;
+ r[n + 1] = c;
+ r[n + 2] = c;
+ }
+ return class CalGrayCS extends ColorSpace {
+ constructor(e, t, a) {
+ super('CalGray', 1);
+ if (!e) throw new r.FormatError('WhitePoint missing - required for color space CalGray');
+ t = t || [0, 0, 0];
+ a = a || 1;
+ this.XW = e[0];
+ this.YW = e[1];
+ this.ZW = e[2];
+ this.XB = t[0];
+ this.YB = t[1];
+ this.ZB = t[2];
+ this.G = a;
+ if (this.XW < 0 || this.ZW < 0 || 1 !== this.YW)
+ throw new r.FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);
+ if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {
+ (0, r.info)(`Invalid BlackPoint for ${this.name}, falling back to default.`);
+ this.XB = this.YB = this.ZB = 0;
+ }
+ (0 === this.XB && 0 === this.YB && 0 === this.ZB) ||
+ (0, r.warn)(
+ `${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ZB: ${this.ZB}, only default values are supported.`
+ );
+ if (this.G < 1) {
+ (0, r.info)(`Invalid Gamma: ${this.G} for ${this.name}, falling back to default.`);
+ this.G = 1;
+ }
+ }
+ getRgbItem(e, t, a, r) {
+ convertToRgb(this, e, t, a, r, 1);
+ }
+ getRgbBuffer(e, t, a, r, n, i, s) {
+ const o = 1 / ((1 << i) - 1);
+ for (let i = 0; i < a; ++i) {
+ convertToRgb(this, e, t, r, n, o);
+ t += 1;
+ n += 3 + s;
+ }
+ }
+ getOutputLength(e, t) {
+ return e * (3 + t);
+ }
+ };
+ })(),
+ l = (function CalRGBCSClosure() {
+ const e = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]),
+ t = new Float32Array([
+ 0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867,
+ ]),
+ a = new Float32Array([
+ 3.2404542, -1.5371385, -0.4985314, -0.969266, 1.8760108, 0.041556, 0.0556434, -0.2040259, 1.0572252,
+ ]),
+ n = new Float32Array([1, 1, 1]),
+ i = new Float32Array(3),
+ s = new Float32Array(3),
+ o = new Float32Array(3);
+ function matrixProduct(e, t, a) {
+ a[0] = e[0] * t[0] + e[1] * t[1] + e[2] * t[2];
+ a[1] = e[3] * t[0] + e[4] * t[1] + e[5] * t[2];
+ a[2] = e[6] * t[0] + e[7] * t[1] + e[8] * t[2];
+ }
+ function sRGBTransferFunction(e) {
+ return e <= 0.0031308
+ ? adjustToRange(0, 1, 12.92 * e)
+ : e >= 0.99554525
+ ? 1
+ : adjustToRange(0, 1, 1.055 * e ** (1 / 2.4) - 0.055);
+ }
+ function adjustToRange(e, t, a) {
+ return Math.max(e, Math.min(t, a));
+ }
+ function decodeL(e) {
+ return e < 0 ? -decodeL(-e) : e > 8 ? ((e + 16) / 116) ** 3 : 0.0011070564598794539 * e;
+ }
+ function convertToRgb(r, c, l, h, u, d) {
+ const f = adjustToRange(0, 1, c[l] * d),
+ g = adjustToRange(0, 1, c[l + 1] * d),
+ p = adjustToRange(0, 1, c[l + 2] * d),
+ m = 1 === f ? 1 : f ** r.GR,
+ b = 1 === g ? 1 : g ** r.GG,
+ y = 1 === p ? 1 : p ** r.GB,
+ w = r.MXA * m + r.MXB * b + r.MXC * y,
+ S = r.MYA * m + r.MYB * b + r.MYC * y,
+ x = r.MZA * m + r.MZB * b + r.MZC * y,
+ k = s;
+ k[0] = w;
+ k[1] = S;
+ k[2] = x;
+ const C = o;
+ !(function normalizeWhitePointToFlat(a, r, n) {
+ if (1 === a[0] && 1 === a[2]) {
+ n[0] = r[0];
+ n[1] = r[1];
+ n[2] = r[2];
+ return;
+ }
+ const s = n;
+ matrixProduct(e, r, s);
+ const o = i;
+ !(function convertToFlat(e, t, a) {
+ a[0] = (1 * t[0]) / e[0];
+ a[1] = (1 * t[1]) / e[1];
+ a[2] = (1 * t[2]) / e[2];
+ })(a, s, o);
+ matrixProduct(t, o, n);
+ })(r.whitePoint, k, C);
+ const v = s;
+ !(function compensateBlackPoint(e, t, a) {
+ if (0 === e[0] && 0 === e[1] && 0 === e[2]) {
+ a[0] = t[0];
+ a[1] = t[1];
+ a[2] = t[2];
+ return;
+ }
+ const r = decodeL(0),
+ n = (1 - r) / (1 - decodeL(e[0])),
+ i = 1 - n,
+ s = (1 - r) / (1 - decodeL(e[1])),
+ o = 1 - s,
+ c = (1 - r) / (1 - decodeL(e[2])),
+ l = 1 - c;
+ a[0] = t[0] * n + i;
+ a[1] = t[1] * s + o;
+ a[2] = t[2] * c + l;
+ })(r.blackPoint, C, v);
+ const F = o;
+ !(function normalizeWhitePointToD65(a, r, n) {
+ const s = n;
+ matrixProduct(e, r, s);
+ const o = i;
+ !(function convertToD65(e, t, a) {
+ a[0] = (0.95047 * t[0]) / e[0];
+ a[1] = (1 * t[1]) / e[1];
+ a[2] = (1.08883 * t[2]) / e[2];
+ })(a, s, o);
+ matrixProduct(t, o, n);
+ })(n, v, F);
+ const O = s;
+ matrixProduct(a, F, O);
+ h[u] = 255 * sRGBTransferFunction(O[0]);
+ h[u + 1] = 255 * sRGBTransferFunction(O[1]);
+ h[u + 2] = 255 * sRGBTransferFunction(O[2]);
+ }
+ return class CalRGBCS extends ColorSpace {
+ constructor(e, t, a, n) {
+ super('CalRGB', 3);
+ if (!e) throw new r.FormatError('WhitePoint missing - required for color space CalRGB');
+ t = t || new Float32Array(3);
+ a = a || new Float32Array([1, 1, 1]);
+ n = n || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
+ const i = e[0],
+ s = e[1],
+ o = e[2];
+ this.whitePoint = e;
+ const c = t[0],
+ l = t[1],
+ h = t[2];
+ this.blackPoint = t;
+ this.GR = a[0];
+ this.GG = a[1];
+ this.GB = a[2];
+ this.MXA = n[0];
+ this.MYA = n[1];
+ this.MZA = n[2];
+ this.MXB = n[3];
+ this.MYB = n[4];
+ this.MZB = n[5];
+ this.MXC = n[6];
+ this.MYC = n[7];
+ this.MZC = n[8];
+ if (i < 0 || o < 0 || 1 !== s)
+ throw new r.FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);
+ if (c < 0 || l < 0 || h < 0) {
+ (0, r.info)(`Invalid BlackPoint for ${this.name} [${c}, ${l}, ${h}], falling back to default.`);
+ this.blackPoint = new Float32Array(3);
+ }
+ if (this.GR < 0 || this.GG < 0 || this.GB < 0) {
+ (0, r.info)(
+ `Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ${this.name}, falling back to default.`
+ );
+ this.GR = this.GG = this.GB = 1;
+ }
+ }
+ getRgbItem(e, t, a, r) {
+ convertToRgb(this, e, t, a, r, 1);
+ }
+ getRgbBuffer(e, t, a, r, n, i, s) {
+ const o = 1 / ((1 << i) - 1);
+ for (let i = 0; i < a; ++i) {
+ convertToRgb(this, e, t, r, n, o);
+ t += 3;
+ n += 3 + s;
+ }
+ }
+ getOutputLength(e, t) {
+ return ((e * (3 + t)) / 3) | 0;
+ }
+ };
+ })(),
+ h = (function LabCSClosure() {
+ function fn_g(e) {
+ let t;
+ t = e >= 6 / 29 ? e ** 3 : (108 / 841) * (e - 4 / 29);
+ return t;
+ }
+ function decode(e, t, a, r) {
+ return a + (e * (r - a)) / t;
+ }
+ function convertToRgb(e, t, a, r, n, i) {
+ let s = t[a],
+ o = t[a + 1],
+ c = t[a + 2];
+ if (!1 !== r) {
+ s = decode(s, r, 0, 100);
+ o = decode(o, r, e.amin, e.amax);
+ c = decode(c, r, e.bmin, e.bmax);
+ }
+ o > e.amax ? (o = e.amax) : o < e.amin && (o = e.amin);
+ c > e.bmax ? (c = e.bmax) : c < e.bmin && (c = e.bmin);
+ const l = (s + 16) / 116,
+ h = l + o / 500,
+ u = l - c / 200,
+ d = e.XW * fn_g(h),
+ f = e.YW * fn_g(l),
+ g = e.ZW * fn_g(u);
+ let p, m, b;
+ if (e.ZW < 1) {
+ p = 3.1339 * d + -1.617 * f + -0.4906 * g;
+ m = -0.9785 * d + 1.916 * f + 0.0333 * g;
+ b = 0.072 * d + -0.229 * f + 1.4057 * g;
+ } else {
+ p = 3.2406 * d + -1.5372 * f + -0.4986 * g;
+ m = -0.9689 * d + 1.8758 * f + 0.0415 * g;
+ b = 0.0557 * d + -0.204 * f + 1.057 * g;
+ }
+ n[i] = 255 * Math.sqrt(p);
+ n[i + 1] = 255 * Math.sqrt(m);
+ n[i + 2] = 255 * Math.sqrt(b);
+ }
+ return class LabCS extends ColorSpace {
+ constructor(e, t, a) {
+ super('Lab', 3);
+ if (!e) throw new r.FormatError('WhitePoint missing - required for color space Lab');
+ t = t || [0, 0, 0];
+ a = a || [-100, 100, -100, 100];
+ this.XW = e[0];
+ this.YW = e[1];
+ this.ZW = e[2];
+ this.amin = a[0];
+ this.amax = a[1];
+ this.bmin = a[2];
+ this.bmax = a[3];
+ this.XB = t[0];
+ this.YB = t[1];
+ this.ZB = t[2];
+ if (this.XW < 0 || this.ZW < 0 || 1 !== this.YW)
+ throw new r.FormatError('Invalid WhitePoint components, no fallback available');
+ if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {
+ (0, r.info)('Invalid BlackPoint, falling back to default');
+ this.XB = this.YB = this.ZB = 0;
+ }
+ if (this.amin > this.amax || this.bmin > this.bmax) {
+ (0, r.info)('Invalid Range, falling back to defaults');
+ this.amin = -100;
+ this.amax = 100;
+ this.bmin = -100;
+ this.bmax = 100;
+ }
+ }
+ getRgbItem(e, t, a, r) {
+ convertToRgb(this, e, t, !1, a, r);
+ }
+ getRgbBuffer(e, t, a, r, n, i, s) {
+ const o = (1 << i) - 1;
+ for (let i = 0; i < a; i++) {
+ convertToRgb(this, e, t, o, r, n);
+ t += 3;
+ n += 3 + s;
+ }
+ }
+ getOutputLength(e, t) {
+ return ((e * (3 + t)) / 3) | 0;
+ }
+ isDefaultDecode(e, t) {
+ return !0;
+ }
+ get usesZeroToOneRange() {
+ return (0, r.shadow)(this, 'usesZeroToOneRange', !1);
+ }
+ };
+ })();
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.PartialEvaluator = t.EvaluatorPreprocessor = void 0;
+ var r = a(2),
+ n = a(16),
+ i = a(5),
+ s = a(34),
+ o = a(38),
+ c = a(37),
+ l = a(41),
+ h = a(40),
+ u = a(50),
+ d = a(51),
+ f = a(42),
+ g = a(57),
+ p = a(17),
+ m = a(59),
+ b = a(10),
+ y = a(7),
+ w = a(60),
+ S = a(14),
+ x = a(19),
+ k = a(39),
+ C = a(6),
+ v = a(45),
+ F = a(61),
+ O = a(62),
+ T = a(63);
+ const M = Object.freeze({
+ maxImageSize: -1,
+ disableFontFace: !1,
+ ignoreErrors: !1,
+ isEvalSupported: !0,
+ fontExtraProperties: !1,
+ useSystemFonts: !0,
+ cMapUrl: null,
+ standardFontDataUrl: null,
+ }),
+ E = 1,
+ D = 2,
+ N = Promise.resolve();
+ function normalizeBlendMode(e, t = !1) {
+ if (Array.isArray(e)) {
+ for (let t = 0, a = e.length; t < a; t++) {
+ const a = normalizeBlendMode(e[t], !0);
+ if (a) return a;
+ }
+ (0, r.warn)(`Unsupported blend mode Array: ${e}`);
+ return 'source-over';
+ }
+ if (!(e instanceof i.Name)) return t ? null : 'source-over';
+ switch (e.name) {
+ case 'Normal':
+ case 'Compatible':
+ return 'source-over';
+ case 'Multiply':
+ return 'multiply';
+ case 'Screen':
+ return 'screen';
+ case 'Overlay':
+ return 'overlay';
+ case 'Darken':
+ return 'darken';
+ case 'Lighten':
+ return 'lighten';
+ case 'ColorDodge':
+ return 'color-dodge';
+ case 'ColorBurn':
+ return 'color-burn';
+ case 'HardLight':
+ return 'hard-light';
+ case 'SoftLight':
+ return 'soft-light';
+ case 'Difference':
+ return 'difference';
+ case 'Exclusion':
+ return 'exclusion';
+ case 'Hue':
+ return 'hue';
+ case 'Saturation':
+ return 'saturation';
+ case 'Color':
+ return 'color';
+ case 'Luminosity':
+ return 'luminosity';
+ }
+ if (t) return null;
+ (0, r.warn)(`Unsupported blend mode: ${e.name}`);
+ return 'source-over';
+ }
+ function incrementCachedImageMaskCount(e) {
+ e.fn === r.OPS.paintImageMaskXObject && e.args[0] && e.args[0].count > 0 && e.args[0].count++;
+ }
+ class TimeSlotManager {
+ static get TIME_SLOT_DURATION_MS() {
+ return (0, r.shadow)(this, 'TIME_SLOT_DURATION_MS', 20);
+ }
+ static get CHECK_TIME_EVERY() {
+ return (0, r.shadow)(this, 'CHECK_TIME_EVERY', 100);
+ }
+ constructor() {
+ this.reset();
+ }
+ check() {
+ if (++this.checked < TimeSlotManager.CHECK_TIME_EVERY) return !1;
+ this.checked = 0;
+ return this.endTime <= Date.now();
+ }
+ reset() {
+ this.endTime = Date.now() + TimeSlotManager.TIME_SLOT_DURATION_MS;
+ this.checked = 0;
+ }
+ }
+ class PartialEvaluator {
+ constructor({
+ xref: e,
+ handler: t,
+ pageIndex: a,
+ idFactory: r,
+ fontCache: n,
+ builtInCMapCache: i,
+ standardFontDataCache: s,
+ globalImageCache: o,
+ options: c = null,
+ }) {
+ this.xref = e;
+ this.handler = t;
+ this.pageIndex = a;
+ this.idFactory = r;
+ this.fontCache = n;
+ this.builtInCMapCache = i;
+ this.standardFontDataCache = s;
+ this.globalImageCache = o;
+ this.options = c || M;
+ this.parsingType3Font = !1;
+ this._fetchBuiltInCMapBound = this.fetchBuiltInCMap.bind(this);
+ }
+ get _pdfFunctionFactory() {
+ const e = new g.PDFFunctionFactory({xref: this.xref, isEvalSupported: this.options.isEvalSupported});
+ return (0, r.shadow)(this, '_pdfFunctionFactory', e);
+ }
+ clone(e = null) {
+ const t = Object.create(this);
+ t.options = Object.assign(Object.create(null), this.options, e);
+ return t;
+ }
+ hasBlendModes(e, t) {
+ if (!(e instanceof i.Dict)) return !1;
+ if (e.objId && t.has(e.objId)) return !1;
+ const a = new i.RefSet(t);
+ e.objId && a.put(e.objId);
+ const n = [e],
+ s = this.xref;
+ for (; n.length; ) {
+ const e = n.shift(),
+ t = e.get('ExtGState');
+ if (t instanceof i.Dict)
+ for (let e of t.getRawValues()) {
+ if (e instanceof i.Ref) {
+ if (a.has(e)) continue;
+ try {
+ e = s.fetch(e);
+ } catch (t) {
+ a.put(e);
+ (0, r.info)(`hasBlendModes - ignoring ExtGState: "${t}".`);
+ continue;
+ }
+ }
+ if (!(e instanceof i.Dict)) continue;
+ e.objId && a.put(e.objId);
+ const t = e.get('BM');
+ if (t instanceof i.Name) {
+ if ('Normal' !== t.name) return !0;
+ } else if (void 0 !== t && Array.isArray(t))
+ for (const e of t) if (e instanceof i.Name && 'Normal' !== e.name) return !0;
+ }
+ const o = e.get('XObject');
+ if (o instanceof i.Dict)
+ for (let e of o.getRawValues()) {
+ if (e instanceof i.Ref) {
+ if (a.has(e)) continue;
+ try {
+ e = s.fetch(e);
+ } catch (t) {
+ a.put(e);
+ (0, r.info)(`hasBlendModes - ignoring XObject: "${t}".`);
+ continue;
+ }
+ }
+ if (!(e instanceof y.BaseStream)) continue;
+ e.dict.objId && a.put(e.dict.objId);
+ const t = e.dict.get('Resources');
+ if (t instanceof i.Dict && (!t.objId || !a.has(t.objId))) {
+ n.push(t);
+ t.objId && a.put(t.objId);
+ }
+ }
+ }
+ for (const e of a) t.put(e);
+ return !1;
+ }
+ async fetchBuiltInCMap(e) {
+ const t = this.builtInCMapCache.get(e);
+ if (t) return t;
+ let a;
+ if (null !== this.options.cMapUrl) {
+ const t = `${this.options.cMapUrl}${e}.bcmap`,
+ n = await fetch(t);
+ if (!n.ok) throw new Error(`fetchBuiltInCMap: failed to fetch file "${t}" with "${n.statusText}".`);
+ a = {cMapData: new Uint8Array(await n.arrayBuffer()), compressionType: r.CMapCompressionType.BINARY};
+ } else a = await this.handler.sendWithPromise('FetchBuiltInCMap', {name: e});
+ a.compressionType !== r.CMapCompressionType.NONE && this.builtInCMapCache.set(e, a);
+ return a;
+ }
+ async fetchStandardFontData(e) {
+ const t = this.standardFontDataCache.get(e);
+ if (t) return new b.Stream(t);
+ if (this.options.useSystemFonts && 'Symbol' !== e && 'ZapfDingbats' !== e) return null;
+ const a = (0, l.getFontNameToFileMap)()[e];
+ let n;
+ if (null !== this.options.standardFontDataUrl) {
+ const e = `${this.options.standardFontDataUrl}${a}`,
+ t = await fetch(e);
+ t.ok
+ ? (n = await t.arrayBuffer())
+ : (0, r.warn)(`fetchStandardFontData: failed to fetch file "${e}" with "${t.statusText}".`);
+ } else
+ try {
+ n = await this.handler.sendWithPromise('FetchStandardFontData', {filename: a});
+ } catch (e) {
+ (0, r.warn)(`fetchStandardFontData: failed to fetch file "${a}" with "${e}".`);
+ }
+ if (!n) return null;
+ this.standardFontDataCache.set(e, n);
+ return new b.Stream(n);
+ }
+ async buildFormXObject(e, t, a, n, s, o, c) {
+ const l = t.dict,
+ h = l.getArray('Matrix');
+ let u,
+ d,
+ f = l.getArray('BBox');
+ f = Array.isArray(f) && 4 === f.length ? r.Util.normalizeRect(f) : null;
+ l.has('OC') && (u = await this.parseMarkedContentProps(l.get('OC'), e));
+ void 0 !== u && n.addOp(r.OPS.beginMarkedContentProps, ['OC', u]);
+ const g = l.get('Group');
+ if (g) {
+ d = {matrix: h, bbox: f, smask: a, isolated: !1, knockout: !1};
+ const t = g.get('S');
+ let s = null;
+ if ((0, i.isName)(t, 'Transparency')) {
+ d.isolated = g.get('I') || !1;
+ d.knockout = g.get('K') || !1;
+ if (g.has('CS')) {
+ const t = g.getRaw('CS'),
+ a = S.ColorSpace.getCached(t, this.xref, c);
+ s = a || (await this.parseColorSpace({cs: t, resources: e, localColorSpaceCache: c}));
+ }
+ }
+ if (a && a.backdrop) {
+ s = s || S.ColorSpace.singletons.rgb;
+ a.backdrop = s.getRgb(a.backdrop, 0);
+ }
+ n.addOp(r.OPS.beginGroup, [d]);
+ }
+ const p = g ? [h, null] : [h, f];
+ n.addOp(r.OPS.paintFormXObjectBegin, p);
+ return this.getOperatorList({
+ stream: t,
+ task: s,
+ resources: l.get('Resources') || e,
+ operatorList: n,
+ initialState: o,
+ }).then(function () {
+ n.addOp(r.OPS.paintFormXObjectEnd, []);
+ g && n.addOp(r.OPS.endGroup, [d]);
+ void 0 !== u && n.addOp(r.OPS.endMarkedContent, []);
+ });
+ }
+ _sendImgData(e, t, a = !1) {
+ const r = t ? [t.bitmap || t.data.buffer] : null;
+ return this.parsingType3Font || a
+ ? this.handler.send('commonobj', [e, 'Image', t], r)
+ : this.handler.send('obj', [e, this.pageIndex, 'Image', t], r);
+ }
+ async buildPaintImageXObject({
+ resources: e,
+ image: t,
+ isInline: a = !1,
+ operatorList: n,
+ cacheKey: i,
+ localImageCache: s,
+ localColorSpaceCache: o,
+ }) {
+ const c = t.dict,
+ l = c.objId,
+ h = c.get('W', 'Width'),
+ u = c.get('H', 'Height');
+ if (!h || 'number' != typeof h || !u || 'number' != typeof u) {
+ (0, r.warn)('Image dimensions are missing, or not numbers.');
+ return;
+ }
+ const d = this.options.maxImageSize;
+ if (-1 !== d && h * u > d) {
+ const e = 'Image exceeded maximum allowed size and was removed.';
+ if (this.options.ignoreErrors) {
+ (0, r.warn)(e);
+ return;
+ }
+ throw new Error(e);
+ }
+ let f;
+ c.has('OC') && (f = await this.parseMarkedContentProps(c.get('OC'), e));
+ let g, p;
+ if (c.get('IM', 'ImageMask') || !1) {
+ const e = c.get('I', 'Interpolate'),
+ a = (h + 7) >> 3,
+ o = t.getBytes(a * u),
+ d = c.getArray('D', 'Decode');
+ if (this.parsingType3Font) {
+ g = T.PDFImage.createRawMask({
+ imgArray: o,
+ width: h,
+ height: u,
+ imageIsFromDecodeStream: t instanceof x.DecodeStream,
+ inverseDecode: !!d && d[0] > 0,
+ interpolate: e,
+ });
+ g.cached = !!i;
+ p = [g];
+ n.addImageOps(r.OPS.paintImageMaskXObject, p, f);
+ i && s.set(i, l, {fn: r.OPS.paintImageMaskXObject, args: p, optionalContent: f});
+ return;
+ }
+ g = T.PDFImage.createMask({
+ imgArray: o,
+ width: h,
+ height: u,
+ imageIsFromDecodeStream: t instanceof x.DecodeStream,
+ inverseDecode: !!d && d[0] > 0,
+ interpolate: e,
+ });
+ if (g.isSingleOpaquePixel) {
+ n.addImageOps(r.OPS.paintSolidColorImageMask, [], f);
+ i && s.set(i, l, {fn: r.OPS.paintSolidColorImageMask, args: [], optionalContent: f});
+ return;
+ }
+ const m = `mask_${this.idFactory.createObjId()}`;
+ n.addDependency(m);
+ this._sendImgData(m, g);
+ p = [{data: m, width: g.width, height: g.height, interpolate: g.interpolate, count: 1}];
+ n.addImageOps(r.OPS.paintImageMaskXObject, p, f);
+ i && s.set(i, l, {fn: r.OPS.paintImageMaskXObject, args: p, optionalContent: f});
+ return;
+ }
+ const m = c.get('SM', 'SMask') || !1,
+ b = c.get('Mask') || !1;
+ if (a && !m && !b && h + u < 200) {
+ const i = new T.PDFImage({
+ xref: this.xref,
+ res: e,
+ image: t,
+ isInline: a,
+ pdfFunctionFactory: this._pdfFunctionFactory,
+ localColorSpaceCache: o,
+ });
+ g = i.createImageData(!0);
+ n.addImageOps(r.OPS.paintInlineImageXObject, [g], f);
+ return;
+ }
+ let y = `img_${this.idFactory.createObjId()}`,
+ w = !1;
+ if (this.parsingType3Font) y = `${this.idFactory.getDocId()}_type3_${y}`;
+ else if (l) {
+ w = this.globalImageCache.shouldCache(l, this.pageIndex);
+ w && (y = `${this.idFactory.getDocId()}_${y}`);
+ }
+ n.addDependency(y);
+ p = [y, h, u];
+ T.PDFImage.buildImage({
+ xref: this.xref,
+ res: e,
+ image: t,
+ isInline: a,
+ pdfFunctionFactory: this._pdfFunctionFactory,
+ localColorSpaceCache: o,
+ })
+ .then((e) => {
+ g = e.createImageData(!1);
+ i && l && w && this.globalImageCache.addByteSize(l, g.data.length);
+ return this._sendImgData(y, g, w);
+ })
+ .catch((e) => {
+ (0, r.warn)(`Unable to decode image "${y}": "${e}".`);
+ return this._sendImgData(y, null, w);
+ });
+ n.addImageOps(r.OPS.paintImageXObject, p, f);
+ if (i) {
+ s.set(i, l, {fn: r.OPS.paintImageXObject, args: p, optionalContent: f});
+ if (l) {
+ (0, r.assert)(!a, 'Cannot cache an inline image globally.');
+ this.globalImageCache.addPageIndex(l, this.pageIndex);
+ w &&
+ this.globalImageCache.setData(l, {
+ objId: y,
+ fn: r.OPS.paintImageXObject,
+ args: p,
+ optionalContent: f,
+ byteSize: 0,
+ });
+ }
+ }
+ }
+ handleSMask(e, t, a, r, n, i) {
+ const s = e.get('G'),
+ o = {subtype: e.get('S').name, backdrop: e.get('BC')},
+ c = e.get('TR');
+ if ((0, g.isPDFFunction)(c)) {
+ const e = this._pdfFunctionFactory.create(c),
+ t = new Uint8Array(256),
+ a = new Float32Array(1);
+ for (let r = 0; r < 256; r++) {
+ a[0] = r / 255;
+ e(a, 0, a, 0);
+ t[r] = (255 * a[0]) | 0;
+ }
+ o.transferMap = t;
+ }
+ return this.buildFormXObject(t, s, o, a, r, n.state.clone(), i);
+ }
+ handleTransferFunction(e) {
+ let t;
+ if (Array.isArray(e)) t = e;
+ else {
+ if (!(0, g.isPDFFunction)(e)) return null;
+ t = [e];
+ }
+ const a = [];
+ let r = 0,
+ n = 0;
+ for (const e of t) {
+ const t = this.xref.fetchIfRef(e);
+ r++;
+ if ((0, i.isName)(t, 'Identity')) {
+ a.push(null);
+ continue;
+ }
+ if (!(0, g.isPDFFunction)(t)) return null;
+ const s = this._pdfFunctionFactory.create(t),
+ o = new Uint8Array(256),
+ c = new Float32Array(1);
+ for (let e = 0; e < 256; e++) {
+ c[0] = e / 255;
+ s(c, 0, c, 0);
+ o[e] = (255 * c[0]) | 0;
+ }
+ a.push(o);
+ n++;
+ }
+ return (1 !== r && 4 !== r) || 0 === n ? null : a;
+ }
+ handleTilingType(e, t, a, n, s, o, c, l) {
+ const h = new O.OperatorList(),
+ d = i.Dict.merge({xref: this.xref, dictArray: [s.get('Resources'), a]});
+ return this.getOperatorList({stream: n, task: c, resources: d, operatorList: h})
+ .then(function () {
+ const a = h.getIR(),
+ r = (0, u.getTilingPatternIR)(a, s, t);
+ o.addDependencies(h.dependencies);
+ o.addOp(e, r);
+ s.objId && l.set(null, s.objId, {operatorListIR: a, dict: s});
+ })
+ .catch((e) => {
+ if (!(e instanceof r.AbortException)) {
+ if (!this.options.ignoreErrors) throw e;
+ this.handler.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorTilingPattern});
+ (0, r.warn)(`handleTilingType - ignoring pattern: "${e}".`);
+ }
+ });
+ }
+ handleSetFont(e, t, a, n, o, c, l = null, h = null) {
+ const u = t && t[0] instanceof i.Name ? t[0].name : null;
+ return this.loadFont(u, a, e, l, h)
+ .then((t) =>
+ t.font.isType3Font
+ ? t
+ .loadType3Data(this, e, o)
+ .then(function () {
+ n.addDependencies(t.type3Dependencies);
+ return t;
+ })
+ .catch((e) => {
+ this.handler.send('UnsupportedFeature', {
+ featureId: r.UNSUPPORTED_FEATURES.errorFontLoadType3,
+ });
+ return new TranslatedFont({
+ loadedName: 'g_font_error',
+ font: new s.ErrorFont(`Type3 font load error: ${e}`),
+ dict: t.font,
+ evaluatorOptions: this.options,
+ });
+ })
+ : t
+ )
+ .then((e) => {
+ c.font = e.font;
+ e.send(this.handler);
+ return e.loadedName;
+ });
+ }
+ handleText(e, t) {
+ const a = t.font,
+ n = a.charsToGlyphs(e);
+ if (a.data) {
+ (!!(t.textRenderingMode & r.TextRenderingMode.ADD_TO_PATH_FLAG) ||
+ 'Pattern' === t.fillColorSpace.name ||
+ a.disableFontFace ||
+ this.options.disableFontFace) &&
+ PartialEvaluator.buildFontPaths(a, n, this.handler, this.options);
+ }
+ return n;
+ }
+ ensureStateFont(e) {
+ if (e.font) return;
+ const t = new r.FormatError('Missing setFont (Tf) operator before text rendering operator.');
+ if (!this.options.ignoreErrors) throw t;
+ this.handler.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorFontState});
+ (0, r.warn)(`ensureStateFont: "${t}".`);
+ }
+ async setGState({
+ resources: e,
+ gState: t,
+ operatorList: a,
+ cacheKey: n,
+ task: s,
+ stateManager: o,
+ localGStateCache: c,
+ localColorSpaceCache: l,
+ }) {
+ const h = t.objId;
+ let u = !0;
+ const d = [],
+ f = t.getKeys();
+ let g = Promise.resolve();
+ for (let n = 0, c = f.length; n < c; n++) {
+ const c = f[n],
+ h = t.get(c);
+ switch (c) {
+ case 'Type':
+ break;
+ case 'LW':
+ case 'LC':
+ case 'LJ':
+ case 'ML':
+ case 'D':
+ case 'RI':
+ case 'FL':
+ case 'CA':
+ case 'ca':
+ d.push([c, h]);
+ break;
+ case 'Font':
+ u = !1;
+ g = g.then(() =>
+ this.handleSetFont(e, null, h[0], a, s, o.state).then(function (e) {
+ a.addDependency(e);
+ d.push([c, [e, h[1]]]);
+ })
+ );
+ break;
+ case 'BM':
+ d.push([c, normalizeBlendMode(h)]);
+ break;
+ case 'SMask':
+ if ((0, i.isName)(h, 'None')) {
+ d.push([c, !1]);
+ break;
+ }
+ if (h instanceof i.Dict) {
+ u = !1;
+ g = g.then(() => this.handleSMask(h, e, a, s, o, l));
+ d.push([c, !0]);
+ } else (0, r.warn)('Unsupported SMask type');
+ break;
+ case 'TR':
+ const t = this.handleTransferFunction(h);
+ d.push([c, t]);
+ break;
+ case 'OP':
+ case 'op':
+ case 'OPM':
+ case 'BG':
+ case 'BG2':
+ case 'UCR':
+ case 'UCR2':
+ case 'TR2':
+ case 'HT':
+ case 'SM':
+ case 'SA':
+ case 'AIS':
+ case 'TK':
+ (0, r.info)('graphic state operator ' + c);
+ break;
+ default:
+ (0, r.info)('Unknown graphic state operator ' + c);
+ }
+ }
+ return g.then(function () {
+ d.length > 0 && a.addOp(r.OPS.setGState, [d]);
+ u && c.set(n, h, d);
+ });
+ }
+ loadFont(e, t, a, n = null, c = null) {
+ const errorFont = async () =>
+ new TranslatedFont({
+ loadedName: 'g_font_error',
+ font: new s.ErrorFont(`Font "${e}" is not available.`),
+ dict: t,
+ evaluatorOptions: this.options,
+ }),
+ l = this.xref;
+ let h;
+ if (t) t instanceof i.Ref && (h = t);
+ else {
+ const t = a.get('Font');
+ t && (h = t.getRaw(e));
+ }
+ if (!h) {
+ const a = `Font "${e || (t && t.toString())}" is not available`;
+ if (!this.options.ignoreErrors && !this.parsingType3Font) {
+ (0, r.warn)(`${a}.`);
+ return errorFont();
+ }
+ this.handler.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorFontMissing});
+ (0, r.warn)(`${a} -- attempting to fallback to a default font.`);
+ h = n || PartialEvaluator.fallbackFontDict;
+ }
+ if (this.parsingType3Font && this.type3FontRefs.has(h)) return errorFont();
+ if (this.fontCache.has(h)) return this.fontCache.get(h);
+ if (!((t = l.fetchIfRef(h)) instanceof i.Dict)) return errorFont();
+ if (t.cacheKey && this.fontCache.has(t.cacheKey)) return this.fontCache.get(t.cacheKey);
+ const u = (0, r.createPromiseCapability)();
+ let d;
+ try {
+ d = this.preEvaluateFont(t);
+ d.cssFontInfo = c;
+ } catch (e) {
+ (0, r.warn)(`loadFont - preEvaluateFont failed: "${e}".`);
+ return errorFont();
+ }
+ const {descriptor: f, hash: g} = d,
+ p = h instanceof i.Ref;
+ let m;
+ p && (m = `f${h.toString()}`);
+ if (g && f instanceof i.Dict) {
+ f.fontAliases || (f.fontAliases = Object.create(null));
+ const e = f.fontAliases;
+ if (e[g]) {
+ const t = e[g].aliasRef;
+ if (p && t && this.fontCache.has(t)) {
+ this.fontCache.putAlias(h, t);
+ return this.fontCache.get(h);
+ }
+ } else e[g] = {fontID: this.idFactory.createFontId()};
+ p && (e[g].aliasRef = h);
+ m = e[g].fontID;
+ }
+ if (p) this.fontCache.put(h, u.promise);
+ else {
+ m || (m = this.idFactory.createFontId());
+ t.cacheKey = `cacheKey_${m}`;
+ this.fontCache.put(t.cacheKey, u.promise);
+ }
+ (0, r.assert)(m && m.startsWith('f'), 'The "fontID" must be (correctly) defined.');
+ t.loadedName = `${this.idFactory.getDocId()}_${m}`;
+ this.translateFont(d)
+ .then((e) => {
+ void 0 !== e.fontType && l.stats.addFontType(e.fontType);
+ u.resolve(
+ new TranslatedFont({loadedName: t.loadedName, font: e, dict: t, evaluatorOptions: this.options})
+ );
+ })
+ .catch((e) => {
+ this.handler.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorFontTranslate});
+ (0, r.warn)(`loadFont - translateFont failed: "${e}".`);
+ try {
+ const e = f && f.get('FontFile3'),
+ t = e && e.get('Subtype'),
+ a = (0, o.getFontType)(d.type, t && t.name);
+ void 0 !== a && l.stats.addFontType(a);
+ } catch (e) {}
+ u.resolve(
+ new TranslatedFont({
+ loadedName: t.loadedName,
+ font: new s.ErrorFont(e instanceof Error ? e.message : e),
+ dict: t,
+ evaluatorOptions: this.options,
+ })
+ );
+ });
+ return u.promise;
+ }
+ buildPath(e, t, a, n = !1) {
+ const i = e.length - 1;
+ a || (a = []);
+ let s;
+ if (i < 0 || e.fnArray[i] !== r.OPS.constructPath) {
+ if (n) {
+ (0, r.warn)(`Encountered path operator "${t}" inside of a text object.`);
+ e.addOp(r.OPS.save, null);
+ }
+ s = [1 / 0, -1 / 0, 1 / 0, -1 / 0];
+ e.addOp(r.OPS.constructPath, [[t], a, s]);
+ n && e.addOp(r.OPS.restore, null);
+ } else {
+ const r = e.argsArray[i];
+ r[0].push(t);
+ Array.prototype.push.apply(r[1], a);
+ s = r[2];
+ }
+ switch (t) {
+ case r.OPS.rectangle:
+ s[0] = Math.min(s[0], a[0], a[0] + a[2]);
+ s[1] = Math.max(s[1], a[0], a[0] + a[2]);
+ s[2] = Math.min(s[2], a[1], a[1] + a[3]);
+ s[3] = Math.max(s[3], a[1], a[1] + a[3]);
+ break;
+ case r.OPS.moveTo:
+ case r.OPS.lineTo:
+ s[0] = Math.min(s[0], a[0]);
+ s[1] = Math.max(s[1], a[0]);
+ s[2] = Math.min(s[2], a[1]);
+ s[3] = Math.max(s[3], a[1]);
+ }
+ }
+ parseColorSpace({cs: e, resources: t, localColorSpaceCache: a}) {
+ return S.ColorSpace.parseAsync({
+ cs: e,
+ xref: this.xref,
+ resources: t,
+ pdfFunctionFactory: this._pdfFunctionFactory,
+ localColorSpaceCache: a,
+ }).catch((e) => {
+ if (e instanceof r.AbortException) return null;
+ if (this.options.ignoreErrors) {
+ this.handler.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorColorSpace});
+ (0, r.warn)(`parseColorSpace - ignoring ColorSpace: "${e}".`);
+ return null;
+ }
+ throw e;
+ });
+ }
+ parseShading({shading: e, resources: t, localColorSpaceCache: a, localShadingPatternCache: r}) {
+ let n = r.get(e);
+ if (!n) {
+ const i = u.Pattern.parseShading(e, this.xref, t, this.handler, this._pdfFunctionFactory, a).getIR();
+ n = `pattern_${this.idFactory.createObjId()}`;
+ r.set(e, n);
+ this.handler.send('obj', [n, this.pageIndex, 'Pattern', i]);
+ }
+ return n;
+ }
+ handleColorN(e, t, a, n, s, o, c, l, h, d) {
+ const f = a.pop();
+ if (f instanceof i.Name) {
+ const g = s.getRaw(f.name),
+ p = g instanceof i.Ref && h.getByRef(g);
+ if (p)
+ try {
+ const r = n.base ? n.base.getRgb(a, 0) : null,
+ i = (0, u.getTilingPatternIR)(p.operatorListIR, p.dict, r);
+ e.addOp(t, i);
+ return;
+ } catch (e) {}
+ const m = this.xref.fetchIfRef(g);
+ if (m) {
+ const i = m instanceof y.BaseStream ? m.dict : m,
+ s = i.get('PatternType');
+ if (s === E) {
+ const r = n.base ? n.base.getRgb(a, 0) : null;
+ return this.handleTilingType(t, r, o, m, i, e, c, h);
+ }
+ if (s === D) {
+ const a = i.get('Shading'),
+ r = i.getArray('Matrix'),
+ n = this.parseShading({
+ shading: a,
+ resources: o,
+ localColorSpaceCache: l,
+ localShadingPatternCache: d,
+ });
+ e.addOp(t, ['Shading', n, r]);
+ return;
+ }
+ throw new r.FormatError(`Unknown PatternType: ${s}`);
+ }
+ }
+ throw new r.FormatError(`Unknown PatternName: ${f}`);
+ }
+ _parseVisibilityExpression(e, t, a) {
+ if (++t > 10) {
+ (0, r.warn)('Visibility expression is too deeply nested');
+ return;
+ }
+ const n = e.length,
+ s = this.xref.fetchIfRef(e[0]);
+ if (!(n < 2) && s instanceof i.Name) {
+ switch (s.name) {
+ case 'And':
+ case 'Or':
+ case 'Not':
+ a.push(s.name);
+ break;
+ default:
+ (0, r.warn)(`Invalid operator ${s.name} in visibility expression`);
+ return;
+ }
+ for (let r = 1; r < n; r++) {
+ const n = e[r],
+ s = this.xref.fetchIfRef(n);
+ if (Array.isArray(s)) {
+ const e = [];
+ a.push(e);
+ this._parseVisibilityExpression(s, t, e);
+ } else n instanceof i.Ref && a.push(n.toString());
+ }
+ } else (0, r.warn)('Invalid visibility expression');
+ }
+ async parseMarkedContentProps(e, t) {
+ let a;
+ if (e instanceof i.Name) {
+ a = t.get('Properties').get(e.name);
+ } else {
+ if (!(e instanceof i.Dict)) throw new r.FormatError('Optional content properties malformed.');
+ a = e;
+ }
+ const n = a.get('Type').name;
+ if ('OCG' === n) return {type: n, id: a.objId};
+ if ('OCMD' === n) {
+ const e = a.get('VE');
+ if (Array.isArray(e)) {
+ const t = [];
+ this._parseVisibilityExpression(e, 0, t);
+ if (t.length > 0) return {type: 'OCMD', expression: t};
+ }
+ const t = a.get('OCGs');
+ if (Array.isArray(t) || t instanceof i.Dict) {
+ const e = [];
+ if (Array.isArray(t)) for (const a of t) e.push(a.toString());
+ else e.push(t.objId);
+ return {
+ type: n,
+ ids: e,
+ policy: a.get('P') instanceof i.Name ? a.get('P').name : null,
+ expression: null,
+ };
+ }
+ if (t instanceof i.Ref) return {type: n, id: t.toString()};
+ }
+ return null;
+ }
+ getOperatorList({
+ stream: e,
+ task: t,
+ resources: a,
+ operatorList: n,
+ initialState: s = null,
+ fallbackFontDict: o = null,
+ }) {
+ a = a || i.Dict.empty;
+ s = s || new EvalState();
+ if (!n) throw new Error('getOperatorList: missing "operatorList" parameter');
+ const c = this,
+ l = this.xref;
+ let h = !1;
+ const u = new m.LocalImageCache(),
+ d = new m.LocalColorSpaceCache(),
+ f = new m.LocalGStateCache(),
+ g = new m.LocalTilingPatternCache(),
+ p = new Map(),
+ b = a.get('XObject') || i.Dict.empty,
+ w = a.get('Pattern') || i.Dict.empty,
+ x = new StateManager(s),
+ k = new EvaluatorPreprocessor(e, l, x),
+ C = new TimeSlotManager();
+ function closePendingRestoreOPS(e) {
+ for (let e = 0, t = k.savedStatesDepth; e < t; e++) n.addOp(r.OPS.restore, []);
+ }
+ return new Promise(function promiseBody(e, s) {
+ const next = function (t) {
+ Promise.all([t, n.ready]).then(function () {
+ try {
+ promiseBody(e, s);
+ } catch (e) {
+ s(e);
+ }
+ }, s);
+ };
+ t.ensureNotTerminated();
+ C.reset();
+ const m = {};
+ let v, F, O, T, M, E;
+ for (; !(v = C.check()); ) {
+ m.args = null;
+ if (!k.read(m)) break;
+ let e = m.args,
+ s = m.fn;
+ switch (0 | s) {
+ case r.OPS.paintXObject:
+ E = e[0] instanceof i.Name;
+ M = e[0].name;
+ if (E) {
+ const t = u.getByName(M);
+ if (t) {
+ n.addImageOps(t.fn, t.args, t.optionalContent);
+ incrementCachedImageMaskCount(t);
+ e = null;
+ continue;
+ }
+ }
+ next(
+ new Promise(function (e, s) {
+ if (!E) throw new r.FormatError('XObject must be referred to by name.');
+ let o = b.getRaw(M);
+ if (o instanceof i.Ref) {
+ const t = u.getByRef(o);
+ if (t) {
+ n.addImageOps(t.fn, t.args, t.optionalContent);
+ incrementCachedImageMaskCount(t);
+ e();
+ return;
+ }
+ const a = c.globalImageCache.getData(o, c.pageIndex);
+ if (a) {
+ n.addDependency(a.objId);
+ n.addImageOps(a.fn, a.args, a.optionalContent);
+ e();
+ return;
+ }
+ o = l.fetch(o);
+ }
+ if (!(o instanceof y.BaseStream)) throw new r.FormatError('XObject should be a stream');
+ const h = o.dict.get('Subtype');
+ if (!(h instanceof i.Name)) throw new r.FormatError('XObject should have a Name subtype');
+ if ('Form' !== h.name)
+ if ('Image' !== h.name) {
+ if ('PS' !== h.name) throw new r.FormatError(`Unhandled XObject subtype ${h.name}`);
+ (0, r.info)('Ignored XObject subtype PS');
+ e();
+ } else
+ c.buildPaintImageXObject({
+ resources: a,
+ image: o,
+ operatorList: n,
+ cacheKey: M,
+ localImageCache: u,
+ localColorSpaceCache: d,
+ }).then(e, s);
+ else {
+ x.save();
+ c.buildFormXObject(a, o, null, n, t, x.state.clone(), d).then(function () {
+ x.restore();
+ e();
+ }, s);
+ }
+ }).catch(function (e) {
+ if (!(e instanceof r.AbortException)) {
+ if (!c.options.ignoreErrors) throw e;
+ c.handler.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorXObject});
+ (0, r.warn)(`getOperatorList - ignoring XObject: "${e}".`);
+ }
+ })
+ );
+ return;
+ case r.OPS.setFont:
+ var D = e[1];
+ next(
+ c.handleSetFont(a, e, null, n, t, x.state, o).then(function (e) {
+ n.addDependency(e);
+ n.addOp(r.OPS.setFont, [e, D]);
+ })
+ );
+ return;
+ case r.OPS.beginText:
+ h = !0;
+ break;
+ case r.OPS.endText:
+ h = !1;
+ break;
+ case r.OPS.endInlineImage:
+ var R = e[0].cacheKey;
+ if (R) {
+ const t = u.getByName(R);
+ if (t) {
+ n.addImageOps(t.fn, t.args, t.optionalContent);
+ incrementCachedImageMaskCount(t);
+ e = null;
+ continue;
+ }
+ }
+ next(
+ c.buildPaintImageXObject({
+ resources: a,
+ image: e[0],
+ isInline: !0,
+ operatorList: n,
+ cacheKey: R,
+ localImageCache: u,
+ localColorSpaceCache: d,
+ })
+ );
+ return;
+ case r.OPS.showText:
+ if (!x.state.font) {
+ c.ensureStateFont(x.state);
+ continue;
+ }
+ e[0] = c.handleText(e[0], x.state);
+ break;
+ case r.OPS.showSpacedText:
+ if (!x.state.font) {
+ c.ensureStateFont(x.state);
+ continue;
+ }
+ var L = e[0],
+ j = [],
+ $ = L.length,
+ _ = x.state;
+ for (F = 0; F < $; ++F) {
+ const e = L[F];
+ 'string' == typeof e
+ ? Array.prototype.push.apply(j, c.handleText(e, _))
+ : 'number' == typeof e && j.push(e);
+ }
+ e[0] = j;
+ s = r.OPS.showText;
+ break;
+ case r.OPS.nextLineShowText:
+ if (!x.state.font) {
+ c.ensureStateFont(x.state);
+ continue;
+ }
+ n.addOp(r.OPS.nextLine);
+ e[0] = c.handleText(e[0], x.state);
+ s = r.OPS.showText;
+ break;
+ case r.OPS.nextLineSetSpacingShowText:
+ if (!x.state.font) {
+ c.ensureStateFont(x.state);
+ continue;
+ }
+ n.addOp(r.OPS.nextLine);
+ n.addOp(r.OPS.setWordSpacing, [e.shift()]);
+ n.addOp(r.OPS.setCharSpacing, [e.shift()]);
+ e[0] = c.handleText(e[0], x.state);
+ s = r.OPS.showText;
+ break;
+ case r.OPS.setTextRenderingMode:
+ x.state.textRenderingMode = e[0];
+ break;
+ case r.OPS.setFillColorSpace: {
+ const t = S.ColorSpace.getCached(e[0], l, d);
+ if (t) {
+ x.state.fillColorSpace = t;
+ continue;
+ }
+ next(
+ c.parseColorSpace({cs: e[0], resources: a, localColorSpaceCache: d}).then(function (e) {
+ e && (x.state.fillColorSpace = e);
+ })
+ );
+ return;
+ }
+ case r.OPS.setStrokeColorSpace: {
+ const t = S.ColorSpace.getCached(e[0], l, d);
+ if (t) {
+ x.state.strokeColorSpace = t;
+ continue;
+ }
+ next(
+ c.parseColorSpace({cs: e[0], resources: a, localColorSpaceCache: d}).then(function (e) {
+ e && (x.state.strokeColorSpace = e);
+ })
+ );
+ return;
+ }
+ case r.OPS.setFillColor:
+ T = x.state.fillColorSpace;
+ e = T.getRgb(e, 0);
+ s = r.OPS.setFillRGBColor;
+ break;
+ case r.OPS.setStrokeColor:
+ T = x.state.strokeColorSpace;
+ e = T.getRgb(e, 0);
+ s = r.OPS.setStrokeRGBColor;
+ break;
+ case r.OPS.setFillGray:
+ x.state.fillColorSpace = S.ColorSpace.singletons.gray;
+ e = S.ColorSpace.singletons.gray.getRgb(e, 0);
+ s = r.OPS.setFillRGBColor;
+ break;
+ case r.OPS.setStrokeGray:
+ x.state.strokeColorSpace = S.ColorSpace.singletons.gray;
+ e = S.ColorSpace.singletons.gray.getRgb(e, 0);
+ s = r.OPS.setStrokeRGBColor;
+ break;
+ case r.OPS.setFillCMYKColor:
+ x.state.fillColorSpace = S.ColorSpace.singletons.cmyk;
+ e = S.ColorSpace.singletons.cmyk.getRgb(e, 0);
+ s = r.OPS.setFillRGBColor;
+ break;
+ case r.OPS.setStrokeCMYKColor:
+ x.state.strokeColorSpace = S.ColorSpace.singletons.cmyk;
+ e = S.ColorSpace.singletons.cmyk.getRgb(e, 0);
+ s = r.OPS.setStrokeRGBColor;
+ break;
+ case r.OPS.setFillRGBColor:
+ x.state.fillColorSpace = S.ColorSpace.singletons.rgb;
+ e = S.ColorSpace.singletons.rgb.getRgb(e, 0);
+ break;
+ case r.OPS.setStrokeRGBColor:
+ x.state.strokeColorSpace = S.ColorSpace.singletons.rgb;
+ e = S.ColorSpace.singletons.rgb.getRgb(e, 0);
+ break;
+ case r.OPS.setFillColorN:
+ T = x.state.fillColorSpace;
+ if ('Pattern' === T.name) {
+ next(c.handleColorN(n, r.OPS.setFillColorN, e, T, w, a, t, d, g, p));
+ return;
+ }
+ e = T.getRgb(e, 0);
+ s = r.OPS.setFillRGBColor;
+ break;
+ case r.OPS.setStrokeColorN:
+ T = x.state.strokeColorSpace;
+ if ('Pattern' === T.name) {
+ next(c.handleColorN(n, r.OPS.setStrokeColorN, e, T, w, a, t, d, g, p));
+ return;
+ }
+ e = T.getRgb(e, 0);
+ s = r.OPS.setStrokeRGBColor;
+ break;
+ case r.OPS.shadingFill:
+ var U = a.get('Shading');
+ if (!U) throw new r.FormatError('No shading resource found');
+ var X = U.get(e[0].name);
+ if (!X) throw new r.FormatError('No shading object found');
+ e = [
+ c.parseShading({
+ shading: X,
+ resources: a,
+ localColorSpaceCache: d,
+ localShadingPatternCache: p,
+ }),
+ ];
+ s = r.OPS.shadingFill;
+ break;
+ case r.OPS.setGState:
+ E = e[0] instanceof i.Name;
+ M = e[0].name;
+ if (E) {
+ const t = f.getByName(M);
+ if (t) {
+ t.length > 0 && n.addOp(r.OPS.setGState, [t]);
+ e = null;
+ continue;
+ }
+ }
+ next(
+ new Promise(function (e, s) {
+ if (!E) throw new r.FormatError('GState must be referred to by name.');
+ const o = a.get('ExtGState');
+ if (!(o instanceof i.Dict)) throw new r.FormatError('ExtGState should be a dictionary.');
+ const l = o.get(M);
+ if (!(l instanceof i.Dict)) throw new r.FormatError('GState should be a dictionary.');
+ c.setGState({
+ resources: a,
+ gState: l,
+ operatorList: n,
+ cacheKey: M,
+ task: t,
+ stateManager: x,
+ localGStateCache: f,
+ localColorSpaceCache: d,
+ }).then(e, s);
+ }).catch(function (e) {
+ if (!(e instanceof r.AbortException)) {
+ if (!c.options.ignoreErrors) throw e;
+ c.handler.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorExtGState});
+ (0, r.warn)(`getOperatorList - ignoring ExtGState: "${e}".`);
+ }
+ })
+ );
+ return;
+ case r.OPS.moveTo:
+ case r.OPS.lineTo:
+ case r.OPS.curveTo:
+ case r.OPS.curveTo2:
+ case r.OPS.curveTo3:
+ case r.OPS.closePath:
+ case r.OPS.rectangle:
+ c.buildPath(n, s, e, h);
+ continue;
+ case r.OPS.markPoint:
+ case r.OPS.markPointProps:
+ case r.OPS.beginCompat:
+ case r.OPS.endCompat:
+ continue;
+ case r.OPS.beginMarkedContentProps:
+ if (!(e[0] instanceof i.Name)) {
+ (0, r.warn)(`Expected name for beginMarkedContentProps arg0=${e[0]}`);
+ continue;
+ }
+ if ('OC' === e[0].name) {
+ next(
+ c
+ .parseMarkedContentProps(e[1], a)
+ .then((e) => {
+ n.addOp(r.OPS.beginMarkedContentProps, ['OC', e]);
+ })
+ .catch((e) => {
+ if (!(e instanceof r.AbortException)) {
+ if (!c.options.ignoreErrors) throw e;
+ c.handler.send('UnsupportedFeature', {
+ featureId: r.UNSUPPORTED_FEATURES.errorMarkedContent,
+ });
+ (0, r.warn)(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`);
+ }
+ })
+ );
+ return;
+ }
+ e = [e[0].name, e[1] instanceof i.Dict ? e[1].get('MCID') : null];
+ break;
+ case r.OPS.beginMarkedContent:
+ case r.OPS.endMarkedContent:
+ default:
+ if (null !== e) {
+ for (F = 0, O = e.length; F < O && !(e[F] instanceof i.Dict); F++);
+ if (F < O) {
+ (0, r.warn)('getOperatorList - ignoring operator: ' + s);
+ continue;
+ }
+ }
+ }
+ n.addOp(s, e);
+ }
+ if (v) next(N);
+ else {
+ closePendingRestoreOPS();
+ e();
+ }
+ }).catch((e) => {
+ if (!(e instanceof r.AbortException)) {
+ if (!this.options.ignoreErrors) throw e;
+ this.handler.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorOperatorList});
+ (0, r.warn)(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`);
+ closePendingRestoreOPS();
+ }
+ });
+ }
+ getTextContent({
+ stream: e,
+ task: t,
+ resources: a,
+ stateManager: n = null,
+ combineTextItems: s = !1,
+ includeMarkedContent: o = !1,
+ sink: c,
+ seenStyles: l = new Set(),
+ viewBox: u,
+ }) {
+ a = a || i.Dict.empty;
+ n = n || new StateManager(new TextState());
+ const d = (0, h.getNormalizedUnicodes)(),
+ f = {items: [], styles: Object.create(null)},
+ g = {
+ initialized: !1,
+ str: [],
+ totalWidth: 0,
+ totalHeight: 0,
+ width: 0,
+ height: 0,
+ vertical: !1,
+ prevTransform: null,
+ textAdvanceScale: 0,
+ spaceInFlowMin: 0,
+ spaceInFlowMax: 0,
+ trackingSpaceMin: 1 / 0,
+ negativeSpaceMax: -1 / 0,
+ notASpace: -1 / 0,
+ transform: null,
+ fontName: null,
+ hasEOL: !1,
+ },
+ p = [' ', ' '];
+ let b = 0;
+ function saveLastChar(e) {
+ const t = (b + 1) % 2,
+ a = ' ' !== p[b] && ' ' === p[t];
+ p[b] = e;
+ b = t;
+ return a;
+ }
+ function resetLastChars() {
+ p[0] = p[1] = ' ';
+ b = 0;
+ }
+ const S = this,
+ x = this.xref,
+ k = [];
+ let C = null;
+ const v = new m.LocalImageCache(),
+ F = new m.LocalGStateCache(),
+ O = new EvaluatorPreprocessor(e, x, n);
+ let T;
+ function getCurrentTextTransform() {
+ const e = T.font,
+ t = [T.fontSize * T.textHScale, 0, 0, T.fontSize, 0, T.textRise];
+ if (
+ e.isType3Font &&
+ (T.fontSize <= 1 || e.isCharBBox) &&
+ !(0, r.isArrayEqual)(T.fontMatrix, r.FONT_IDENTITY_MATRIX)
+ ) {
+ const a = e.bbox[3] - e.bbox[1];
+ a > 0 && (t[3] *= a * T.fontMatrix[3]);
+ }
+ return r.Util.transform(T.ctm, r.Util.transform(T.textMatrix, t));
+ }
+ function ensureTextContentItem() {
+ if (g.initialized) return g;
+ const e = T.font,
+ t = e.loadedName;
+ if (!l.has(t)) {
+ l.add(t);
+ f.styles[t] = {
+ fontFamily: e.fallbackName,
+ ascent: e.ascent,
+ descent: e.descent,
+ vertical: e.vertical,
+ };
+ }
+ g.fontName = t;
+ const a = (g.transform = getCurrentTextTransform());
+ if (e.vertical) {
+ g.width = g.totalWidth = Math.hypot(a[0], a[1]);
+ g.height = g.totalHeight = 0;
+ g.vertical = !0;
+ } else {
+ g.width = g.totalWidth = 0;
+ g.height = g.totalHeight = Math.hypot(a[2], a[3]);
+ g.vertical = !1;
+ }
+ const r = Math.hypot(T.textLineMatrix[0], T.textLineMatrix[1]),
+ n = Math.hypot(T.ctm[0], T.ctm[1]);
+ g.textAdvanceScale = n * r;
+ g.trackingSpaceMin = 0.1 * T.fontSize;
+ g.notASpace = 0.03 * T.fontSize;
+ g.negativeSpaceMax = -0.2 * T.fontSize;
+ g.spaceInFlowMin = 0.1 * T.fontSize;
+ g.spaceInFlowMax = 0.6 * T.fontSize;
+ g.hasEOL = !1;
+ g.initialized = !0;
+ return g;
+ }
+ function updateAdvanceScale() {
+ if (!g.initialized) return;
+ const e = Math.hypot(T.textLineMatrix[0], T.textLineMatrix[1]),
+ t = Math.hypot(T.ctm[0], T.ctm[1]) * e;
+ if (t !== g.textAdvanceScale) {
+ if (g.vertical) {
+ g.totalHeight += g.height * g.textAdvanceScale;
+ g.height = 0;
+ } else {
+ g.totalWidth += g.width * g.textAdvanceScale;
+ g.width = 0;
+ }
+ g.textAdvanceScale = t;
+ }
+ }
+ function handleSetFont(e, n) {
+ return S.loadFont(e, n, a)
+ .then(function (e) {
+ return e.font.isType3Font
+ ? e
+ .loadType3Data(S, a, t)
+ .catch(function () {})
+ .then(function () {
+ return e;
+ })
+ : e;
+ })
+ .then(function (e) {
+ T.font = e.font;
+ T.fontMatrix = e.font.fontMatrix || r.FONT_IDENTITY_MATRIX;
+ });
+ }
+ function applyInverseRotation(e, t, a) {
+ const r = Math.hypot(a[0], a[1]);
+ return [(a[0] * e + a[1] * t) / r, (a[2] * e + a[3] * t) / r];
+ }
+ function compareWithLastPosition() {
+ const e = getCurrentTextTransform();
+ let t = e[4],
+ a = e[5];
+ const r = t - u[0],
+ n = a - u[1];
+ if (r < 0 || r > u[2] || n < 0 || n > u[3]) return !1;
+ if (!s || !T.font || !g.prevTransform) return !0;
+ let i = g.prevTransform[4],
+ o = g.prevTransform[5];
+ if (i === t && o === a) return !0;
+ let c = -1;
+ e[0] && 0 === e[1] && 0 === e[2]
+ ? (c = e[0] > 0 ? 0 : 180)
+ : e[1] && 0 === e[0] && 0 === e[3] && (c = e[1] > 0 ? 90 : 270);
+ switch (c) {
+ case 0:
+ break;
+ case 90:
+ [t, a] = [a, t];
+ [i, o] = [o, i];
+ break;
+ case 180:
+ [t, a, i, o] = [-t, -a, -i, -o];
+ break;
+ case 270:
+ [t, a] = [-a, -t];
+ [i, o] = [-o, -i];
+ break;
+ default:
+ [t, a] = applyInverseRotation(t, a, e);
+ [i, o] = applyInverseRotation(i, o, g.prevTransform);
+ }
+ if (T.font.vertical) {
+ const e = (o - a) / g.textAdvanceScale,
+ r = t - i,
+ n = Math.sign(g.height);
+ if (e < n * g.negativeSpaceMax) {
+ if (Math.abs(r) > 0.5 * g.width) {
+ appendEOL();
+ return !0;
+ }
+ resetLastChars();
+ flushTextContentItem();
+ return !0;
+ }
+ if (Math.abs(r) > g.width) {
+ appendEOL();
+ return !0;
+ }
+ e <= n * g.notASpace && resetLastChars();
+ if (e <= n * g.trackingSpaceMin) g.height += e;
+ else if (!addFakeSpaces(e, g.prevTransform, n))
+ if (0 === g.str.length) {
+ resetLastChars();
+ f.items.push({
+ str: ' ',
+ dir: 'ltr',
+ width: 0,
+ height: Math.abs(e),
+ transform: g.prevTransform,
+ fontName: g.fontName,
+ hasEOL: !1,
+ });
+ } else g.height += e;
+ return !0;
+ }
+ const l = (t - i) / g.textAdvanceScale,
+ h = a - o,
+ d = Math.sign(g.width);
+ if (l < d * g.negativeSpaceMax) {
+ if (Math.abs(h) > 0.5 * g.height) {
+ appendEOL();
+ return !0;
+ }
+ resetLastChars();
+ flushTextContentItem();
+ return !0;
+ }
+ if (Math.abs(h) > g.height) {
+ appendEOL();
+ return !0;
+ }
+ l <= d * g.notASpace && resetLastChars();
+ if (l <= d * g.trackingSpaceMin) g.width += l;
+ else if (!addFakeSpaces(l, g.prevTransform, d))
+ if (0 === g.str.length) {
+ resetLastChars();
+ f.items.push({
+ str: ' ',
+ dir: 'ltr',
+ width: Math.abs(l),
+ height: 0,
+ transform: g.prevTransform,
+ fontName: g.fontName,
+ hasEOL: !1,
+ });
+ } else g.width += l;
+ return !0;
+ }
+ function buildTextContentItem({chars: e, extraSpacing: t}) {
+ const a = T.font;
+ if (!e) {
+ const e = T.charSpacing + t;
+ e && (a.vertical ? T.translateTextMatrix(0, -e) : T.translateTextMatrix(e * T.textHScale, 0));
+ return;
+ }
+ const r = a.charsToGlyphs(e),
+ n = T.fontMatrix[0] * T.fontSize;
+ for (let e = 0, i = r.length; e < i; e++) {
+ const s = r[e];
+ if (s.isInvisibleFormatMark) continue;
+ let o = T.charSpacing + (e + 1 === i ? t : 0),
+ c = s.width;
+ a.vertical && (c = s.vmetric ? s.vmetric[0] : -c);
+ let l = c * n;
+ if (s.isWhitespace) {
+ if (a.vertical) {
+ o += -l + T.wordSpacing;
+ T.translateTextMatrix(0, -o);
+ } else {
+ o += l + T.wordSpacing;
+ T.translateTextMatrix(o * T.textHScale, 0);
+ }
+ saveLastChar(' ');
+ continue;
+ }
+ if (!compareWithLastPosition()) continue;
+ const u = ensureTextContentItem();
+ s.isZeroWidthDiacritic && (l = 0);
+ if (a.vertical) {
+ T.translateTextMatrix(0, l);
+ l = Math.abs(l);
+ u.height += l;
+ } else {
+ l *= T.textHScale;
+ T.translateTextMatrix(l, 0);
+ u.width += l;
+ }
+ l && (u.prevTransform = getCurrentTextTransform());
+ let f = s.unicode;
+ f = d[f] || f;
+ f = (0, h.reverseIfRtl)(f);
+ saveLastChar(f) && u.str.push(' ');
+ u.str.push(f);
+ o && (a.vertical ? T.translateTextMatrix(0, -o) : T.translateTextMatrix(o * T.textHScale, 0));
+ }
+ }
+ function appendEOL() {
+ resetLastChars();
+ if (g.initialized) {
+ g.hasEOL = !0;
+ flushTextContentItem();
+ } else
+ f.items.push({
+ str: '',
+ dir: 'ltr',
+ width: 0,
+ height: 0,
+ transform: getCurrentTextTransform(),
+ fontName: T.font.loadedName,
+ hasEOL: !0,
+ });
+ }
+ function addFakeSpaces(e, t, a) {
+ if (a * g.spaceInFlowMin <= e && e <= a * g.spaceInFlowMax) {
+ if (g.initialized) {
+ resetLastChars();
+ g.str.push(' ');
+ }
+ return !1;
+ }
+ const r = g.fontName;
+ let n = 0;
+ if (g.vertical) {
+ n = e;
+ e = 0;
+ }
+ flushTextContentItem();
+ resetLastChars();
+ f.items.push({
+ str: ' ',
+ dir: 'ltr',
+ width: Math.abs(e),
+ height: Math.abs(n),
+ transform: t || getCurrentTextTransform(),
+ fontName: r,
+ hasEOL: !1,
+ });
+ return !0;
+ }
+ function flushTextContentItem() {
+ if (g.initialized && g.str) {
+ g.vertical
+ ? (g.totalHeight += g.height * g.textAdvanceScale)
+ : (g.totalWidth += g.width * g.textAdvanceScale);
+ f.items.push(
+ (function runBidiTransform(e) {
+ const t = e.str.join(''),
+ a = (0, w.bidi)(t, -1, e.vertical);
+ return {
+ str: a.str,
+ dir: a.dir,
+ width: Math.abs(e.totalWidth),
+ height: Math.abs(e.totalHeight),
+ transform: e.transform,
+ fontName: e.fontName,
+ hasEOL: e.hasEOL,
+ };
+ })(g)
+ );
+ g.initialized = !1;
+ g.str.length = 0;
+ }
+ }
+ function enqueueChunk(e = !1) {
+ const t = f.items.length;
+ if (0 !== t && !(e && t < 10)) {
+ c.enqueue(f, t);
+ f.items = [];
+ f.styles = Object.create(null);
+ }
+ }
+ const M = new TimeSlotManager();
+ return new Promise(function promiseBody(e, h) {
+ const next = function (t) {
+ enqueueChunk(!0);
+ Promise.all([t, c.ready]).then(function () {
+ try {
+ promiseBody(e, h);
+ } catch (e) {
+ h(e);
+ }
+ }, h);
+ };
+ t.ensureNotTerminated();
+ M.reset();
+ const d = {};
+ let g,
+ p = [];
+ for (; !(g = M.check()); ) {
+ p.length = 0;
+ d.args = p;
+ if (!O.read(d)) break;
+ T = n.state;
+ const e = d.fn;
+ p = d.args;
+ switch (0 | e) {
+ case r.OPS.setFont:
+ var m = p[0].name,
+ b = p[1];
+ if (T.font && m === T.fontName && b === T.fontSize) break;
+ flushTextContentItem();
+ T.fontName = m;
+ T.fontSize = b;
+ next(handleSetFont(m, null));
+ return;
+ case r.OPS.setTextRise:
+ T.textRise = p[0];
+ break;
+ case r.OPS.setHScale:
+ T.textHScale = p[0] / 100;
+ break;
+ case r.OPS.setLeading:
+ T.leading = p[0];
+ break;
+ case r.OPS.moveText:
+ T.translateTextLineMatrix(p[0], p[1]);
+ T.textMatrix = T.textLineMatrix.slice();
+ break;
+ case r.OPS.setLeadingMoveText:
+ T.leading = -p[1];
+ T.translateTextLineMatrix(p[0], p[1]);
+ T.textMatrix = T.textLineMatrix.slice();
+ break;
+ case r.OPS.nextLine:
+ T.carriageReturn();
+ break;
+ case r.OPS.setTextMatrix:
+ T.setTextMatrix(p[0], p[1], p[2], p[3], p[4], p[5]);
+ T.setTextLineMatrix(p[0], p[1], p[2], p[3], p[4], p[5]);
+ updateAdvanceScale();
+ break;
+ case r.OPS.setCharSpacing:
+ T.charSpacing = p[0];
+ break;
+ case r.OPS.setWordSpacing:
+ T.wordSpacing = p[0];
+ break;
+ case r.OPS.beginText:
+ T.textMatrix = r.IDENTITY_MATRIX.slice();
+ T.textLineMatrix = r.IDENTITY_MATRIX.slice();
+ break;
+ case r.OPS.showSpacedText:
+ if (!n.state.font) {
+ S.ensureStateFont(n.state);
+ continue;
+ }
+ const e = ((T.font.vertical ? 1 : -1) * T.fontSize) / 1e3,
+ h = p[0];
+ for (let t = 0, a = h.length; t < a - 1; t++) {
+ const a = h[t];
+ if ('string' == typeof a) k.push(a);
+ else if ('number' == typeof a && 0 !== a) {
+ const t = k.join('');
+ k.length = 0;
+ buildTextContentItem({chars: t, extraSpacing: a * e});
+ }
+ }
+ const d = h.at(-1);
+ 'string' == typeof d && k.push(d);
+ if (k.length > 0) {
+ const e = k.join('');
+ k.length = 0;
+ buildTextContentItem({chars: e, extraSpacing: 0});
+ }
+ break;
+ case r.OPS.showText:
+ if (!n.state.font) {
+ S.ensureStateFont(n.state);
+ continue;
+ }
+ buildTextContentItem({chars: p[0], extraSpacing: 0});
+ break;
+ case r.OPS.nextLineShowText:
+ if (!n.state.font) {
+ S.ensureStateFont(n.state);
+ continue;
+ }
+ T.carriageReturn();
+ buildTextContentItem({chars: p[0], extraSpacing: 0});
+ break;
+ case r.OPS.nextLineSetSpacingShowText:
+ if (!n.state.font) {
+ S.ensureStateFont(n.state);
+ continue;
+ }
+ T.wordSpacing = p[0];
+ T.charSpacing = p[1];
+ T.carriageReturn();
+ buildTextContentItem({chars: p[2], extraSpacing: 0});
+ break;
+ case r.OPS.paintXObject:
+ flushTextContentItem();
+ C || (C = a.get('XObject') || i.Dict.empty);
+ var w = p[0] instanceof i.Name,
+ E = p[0].name;
+ if (w && v.getByName(E)) break;
+ next(
+ new Promise(function (e, h) {
+ if (!w) throw new r.FormatError('XObject must be referred to by name.');
+ let d = C.getRaw(E);
+ if (d instanceof i.Ref) {
+ if (v.getByRef(d)) {
+ e();
+ return;
+ }
+ if (S.globalImageCache.getData(d, S.pageIndex)) {
+ e();
+ return;
+ }
+ d = x.fetch(d);
+ }
+ if (!(d instanceof y.BaseStream)) throw new r.FormatError('XObject should be a stream');
+ const f = d.dict.get('Subtype');
+ if (!(f instanceof i.Name)) throw new r.FormatError('XObject should have a Name subtype');
+ if ('Form' !== f.name) {
+ v.set(E, d.dict.objId, !0);
+ e();
+ return;
+ }
+ const g = n.state.clone(),
+ p = new StateManager(g),
+ m = d.dict.getArray('Matrix');
+ Array.isArray(m) && 6 === m.length && p.transform(m);
+ enqueueChunk();
+ const b = {
+ enqueueInvoked: !1,
+ enqueue(e, t) {
+ this.enqueueInvoked = !0;
+ c.enqueue(e, t);
+ },
+ get desiredSize() {
+ return c.desiredSize;
+ },
+ get ready() {
+ return c.ready;
+ },
+ };
+ S.getTextContent({
+ stream: d,
+ task: t,
+ resources: d.dict.get('Resources') || a,
+ stateManager: p,
+ combineTextItems: s,
+ includeMarkedContent: o,
+ sink: b,
+ seenStyles: l,
+ viewBox: u,
+ }).then(function () {
+ b.enqueueInvoked || v.set(E, d.dict.objId, !0);
+ e();
+ }, h);
+ }).catch(function (e) {
+ if (!(e instanceof r.AbortException)) {
+ if (!S.options.ignoreErrors) throw e;
+ (0, r.warn)(`getTextContent - ignoring XObject: "${e}".`);
+ }
+ })
+ );
+ return;
+ case r.OPS.setGState:
+ w = p[0] instanceof i.Name;
+ E = p[0].name;
+ if (w && F.getByName(E)) break;
+ next(
+ new Promise(function (e, t) {
+ if (!w) throw new r.FormatError('GState must be referred to by name.');
+ const n = a.get('ExtGState');
+ if (!(n instanceof i.Dict)) throw new r.FormatError('ExtGState should be a dictionary.');
+ const s = n.get(E);
+ if (!(s instanceof i.Dict)) throw new r.FormatError('GState should be a dictionary.');
+ const o = s.get('Font');
+ if (o) {
+ flushTextContentItem();
+ T.fontName = null;
+ T.fontSize = o[1];
+ handleSetFont(null, o[0]).then(e, t);
+ } else {
+ F.set(E, s.objId, !0);
+ e();
+ }
+ }).catch(function (e) {
+ if (!(e instanceof r.AbortException)) {
+ if (!S.options.ignoreErrors) throw e;
+ (0, r.warn)(`getTextContent - ignoring ExtGState: "${e}".`);
+ }
+ })
+ );
+ return;
+ case r.OPS.beginMarkedContent:
+ flushTextContentItem();
+ o && f.items.push({type: 'beginMarkedContent', tag: p[0] instanceof i.Name ? p[0].name : null});
+ break;
+ case r.OPS.beginMarkedContentProps:
+ flushTextContentItem();
+ if (o) {
+ let e = null;
+ p[1] instanceof i.Dict && (e = p[1].get('MCID'));
+ f.items.push({
+ type: 'beginMarkedContentProps',
+ id: Number.isInteger(e) ? `${S.idFactory.getPageObjId()}_mcid${e}` : null,
+ tag: p[0] instanceof i.Name ? p[0].name : null,
+ });
+ }
+ break;
+ case r.OPS.endMarkedContent:
+ flushTextContentItem();
+ o && f.items.push({type: 'endMarkedContent'});
+ }
+ if (f.items.length >= c.desiredSize) {
+ g = !0;
+ break;
+ }
+ }
+ if (g) next(N);
+ else {
+ flushTextContentItem();
+ enqueueChunk();
+ e();
+ }
+ }).catch((e) => {
+ if (!(e instanceof r.AbortException)) {
+ if (!this.options.ignoreErrors) throw e;
+ (0, r.warn)(`getTextContent - ignoring errors during "${t.name}" task: "${e}".`);
+ flushTextContentItem();
+ enqueueChunk();
+ }
+ });
+ }
+ extractDataStructures(e, t, a) {
+ const n = this.xref;
+ let s;
+ const l = this.readToUnicode(a.toUnicode || e.get('ToUnicode') || t.get('ToUnicode'));
+ if (a.composite) {
+ const t = e.get('CIDSystemInfo');
+ t instanceof i.Dict &&
+ (a.cidSystemInfo = {
+ registry: (0, r.stringToPDFString)(t.get('Registry')),
+ ordering: (0, r.stringToPDFString)(t.get('Ordering')),
+ supplement: t.get('Supplement'),
+ });
+ try {
+ const t = e.get('CIDToGIDMap');
+ t instanceof y.BaseStream && (s = t.getBytes());
+ } catch (e) {
+ if (!this.options.ignoreErrors) throw e;
+ (0, r.warn)(`extractDataStructures - ignoring CIDToGIDMap data: "${e}".`);
+ }
+ }
+ const h = [];
+ let u,
+ d = null;
+ if (e.has('Encoding')) {
+ u = e.get('Encoding');
+ if (u instanceof i.Dict) {
+ d = u.get('BaseEncoding');
+ d = d instanceof i.Name ? d.name : null;
+ if (u.has('Differences')) {
+ const e = u.get('Differences');
+ let t = 0;
+ for (let a = 0, s = e.length; a < s; a++) {
+ const s = n.fetchIfRef(e[a]);
+ if ('number' == typeof s) t = s;
+ else {
+ if (!(s instanceof i.Name))
+ throw new r.FormatError(`Invalid entry in 'Differences' array: ${s}`);
+ h[t++] = s.name;
+ }
+ }
+ }
+ } else if (u instanceof i.Name) d = u.name;
+ else {
+ const e = 'Encoding is not a Name nor a Dict';
+ if (!this.options.ignoreErrors) throw new r.FormatError(e);
+ (0, r.warn)(e);
+ }
+ 'MacRomanEncoding' !== d && 'MacExpertEncoding' !== d && 'WinAnsiEncoding' !== d && (d = null);
+ }
+ if (d) a.defaultEncoding = (0, c.getEncoding)(d);
+ else {
+ const e = !!(a.flags & o.FontFlags.Symbolic),
+ t = !!(a.flags & o.FontFlags.Nonsymbolic);
+ u = c.StandardEncoding;
+ 'TrueType' !== a.type || t || (u = c.WinAnsiEncoding);
+ if (e) {
+ u = c.MacRomanEncoding;
+ (a.file && !a.isInternalFont) ||
+ (/Symbol/i.test(a.name)
+ ? (u = c.SymbolSetEncoding)
+ : /Dingbats|Wingdings/i.test(a.name) && (u = c.ZapfDingbatsEncoding));
+ }
+ a.defaultEncoding = u;
+ }
+ a.differences = h;
+ a.baseEncodingName = d;
+ a.hasEncoding = !!d || h.length > 0;
+ a.dict = e;
+ return l
+ .then((e) => {
+ a.toUnicode = e;
+ return this.buildToUnicode(a);
+ })
+ .then((e) => {
+ a.toUnicode = e;
+ s && (a.cidToGidMap = this.readCidToGidMap(s, e));
+ return a;
+ });
+ }
+ _simpleFontToUnicode(e, t = !1) {
+ (0, r.assert)(!e.composite, 'Must be a simple font.');
+ const a = [],
+ n = e.defaultEncoding.slice(),
+ i = e.baseEncodingName,
+ s = e.differences;
+ for (const e in s) {
+ const t = s[e];
+ '.notdef' !== t && (n[e] = t);
+ }
+ const o = (0, k.getGlyphsUnicode)();
+ for (const r in n) {
+ let s = n[r];
+ if ('' !== s)
+ if (void 0 !== o[s]) a[r] = String.fromCharCode(o[s]);
+ else {
+ let n = 0;
+ switch (s[0]) {
+ case 'G':
+ 3 === s.length && (n = parseInt(s.substring(1), 16));
+ break;
+ case 'g':
+ 5 === s.length && (n = parseInt(s.substring(1), 16));
+ break;
+ case 'C':
+ case 'c':
+ if (s.length >= 3 && s.length <= 4) {
+ const a = s.substring(1);
+ if (t) {
+ n = parseInt(a, 16);
+ break;
+ }
+ n = +a;
+ if (Number.isNaN(n) && Number.isInteger(parseInt(a, 16)))
+ return this._simpleFontToUnicode(e, !0);
+ }
+ break;
+ default:
+ const a = (0, h.getUnicodeForGlyph)(s, o);
+ -1 !== a && (n = a);
+ }
+ if (n > 0 && n <= 1114111 && Number.isInteger(n)) {
+ if (i && n === +r) {
+ const e = (0, c.getEncoding)(i);
+ if (e && (s = e[r])) {
+ a[r] = String.fromCharCode(o[s]);
+ continue;
+ }
+ }
+ a[r] = String.fromCodePoint(n);
+ }
+ }
+ }
+ return a;
+ }
+ async buildToUnicode(e) {
+ e.hasIncludedToUnicodeMap = !!e.toUnicode && e.toUnicode.length > 0;
+ if (e.hasIncludedToUnicodeMap) {
+ !e.composite && e.hasEncoding && (e.fallbackToUnicode = this._simpleFontToUnicode(e));
+ return e.toUnicode;
+ }
+ if (!e.composite) return new f.ToUnicodeMap(this._simpleFontToUnicode(e));
+ if (
+ e.composite &&
+ ((e.cMap.builtInCMap && !(e.cMap instanceof n.IdentityCMap)) ||
+ ('Adobe' === e.cidSystemInfo.registry &&
+ ('GB1' === e.cidSystemInfo.ordering ||
+ 'CNS1' === e.cidSystemInfo.ordering ||
+ 'Japan1' === e.cidSystemInfo.ordering ||
+ 'Korea1' === e.cidSystemInfo.ordering)))
+ ) {
+ const {registry: t, ordering: a} = e.cidSystemInfo,
+ s = i.Name.get(`${t}-${a}-UCS2`),
+ o = await n.CMapFactory.create({
+ encoding: s,
+ fetchBuiltInCMap: this._fetchBuiltInCMapBound,
+ useCMap: null,
+ }),
+ c = [];
+ e.cMap.forEach(function (e, t) {
+ if (t > 65535) throw new r.FormatError('Max size of CID is 65,535');
+ const a = o.lookup(t);
+ a && (c[e] = String.fromCharCode((a.charCodeAt(0) << 8) + a.charCodeAt(1)));
+ });
+ return new f.ToUnicodeMap(c);
+ }
+ return new f.IdentityToUnicodeMap(e.firstChar, e.lastChar);
+ }
+ readToUnicode(e) {
+ return e
+ ? e instanceof i.Name
+ ? n.CMapFactory.create({
+ encoding: e,
+ fetchBuiltInCMap: this._fetchBuiltInCMapBound,
+ useCMap: null,
+ }).then(function (e) {
+ return e instanceof n.IdentityCMap
+ ? new f.IdentityToUnicodeMap(0, 65535)
+ : new f.ToUnicodeMap(e.getMap());
+ })
+ : e instanceof y.BaseStream
+ ? n.CMapFactory.create({
+ encoding: e,
+ fetchBuiltInCMap: this._fetchBuiltInCMapBound,
+ useCMap: null,
+ }).then(
+ function (e) {
+ if (e instanceof n.IdentityCMap) return new f.IdentityToUnicodeMap(0, 65535);
+ const t = new Array(e.length);
+ e.forEach(function (e, a) {
+ if ('number' == typeof a) {
+ t[e] = String.fromCodePoint(a);
+ return;
+ }
+ const r = [];
+ for (let e = 0; e < a.length; e += 2) {
+ const t = (a.charCodeAt(e) << 8) | a.charCodeAt(e + 1);
+ if (55296 != (63488 & t)) {
+ r.push(t);
+ continue;
+ }
+ e += 2;
+ const n = (a.charCodeAt(e) << 8) | a.charCodeAt(e + 1);
+ r.push(((1023 & t) << 10) + (1023 & n) + 65536);
+ }
+ t[e] = String.fromCodePoint(...r);
+ });
+ return new f.ToUnicodeMap(t);
+ },
+ (e) => {
+ if (e instanceof r.AbortException) return null;
+ if (this.options.ignoreErrors) {
+ this.handler.send('UnsupportedFeature', {
+ featureId: r.UNSUPPORTED_FEATURES.errorFontToUnicode,
+ });
+ (0, r.warn)(`readToUnicode - ignoring ToUnicode data: "${e}".`);
+ return null;
+ }
+ throw e;
+ }
+ )
+ : Promise.resolve(null)
+ : Promise.resolve(null);
+ }
+ readCidToGidMap(e, t) {
+ const a = [];
+ for (let r = 0, n = e.length; r < n; r++) {
+ const n = (e[r++] << 8) | e[r],
+ i = r >> 1;
+ (0 !== n || t.has(i)) && (a[i] = n);
+ }
+ return a;
+ }
+ extractWidths(e, t, a) {
+ const r = this.xref;
+ let n = [],
+ s = 0;
+ const c = [];
+ let l, h, u, d, f, g, p, m;
+ if (a.composite) {
+ s = e.has('DW') ? e.get('DW') : 1e3;
+ m = e.get('W');
+ if (m)
+ for (h = 0, u = m.length; h < u; h++) {
+ g = r.fetchIfRef(m[h++]);
+ p = r.fetchIfRef(m[h]);
+ if (Array.isArray(p)) for (d = 0, f = p.length; d < f; d++) n[g++] = r.fetchIfRef(p[d]);
+ else {
+ const e = r.fetchIfRef(m[++h]);
+ for (d = g; d <= p; d++) n[d] = e;
+ }
+ }
+ if (a.vertical) {
+ let t = e.getArray('DW2') || [880, -1e3];
+ l = [t[1], 0.5 * s, t[0]];
+ t = e.get('W2');
+ if (t)
+ for (h = 0, u = t.length; h < u; h++) {
+ g = r.fetchIfRef(t[h++]);
+ p = r.fetchIfRef(t[h]);
+ if (Array.isArray(p))
+ for (d = 0, f = p.length; d < f; d++)
+ c[g++] = [r.fetchIfRef(p[d++]), r.fetchIfRef(p[d++]), r.fetchIfRef(p[d])];
+ else {
+ const e = [r.fetchIfRef(t[++h]), r.fetchIfRef(t[++h]), r.fetchIfRef(t[++h])];
+ for (d = g; d <= p; d++) c[d] = e;
+ }
+ }
+ }
+ } else {
+ const o = a.firstChar;
+ m = e.get('Widths');
+ if (m) {
+ d = o;
+ for (h = 0, u = m.length; h < u; h++) n[d++] = r.fetchIfRef(m[h]);
+ s = parseFloat(t.get('MissingWidth')) || 0;
+ } else {
+ const t = e.get('BaseFont');
+ if (t instanceof i.Name) {
+ const e = this.getBaseFontMetrics(t.name);
+ n = this.buildCharCodeToWidth(e.widths, a);
+ s = e.defaultWidth;
+ }
+ }
+ }
+ let b = !0,
+ y = s;
+ for (const e in n) {
+ const t = n[e];
+ if (t)
+ if (y) {
+ if (y !== t) {
+ b = !1;
+ break;
+ }
+ } else y = t;
+ }
+ b && (a.flags |= o.FontFlags.FixedPitch);
+ a.defaultWidth = s;
+ a.widths = n;
+ a.defaultVMetrics = l;
+ a.vmetrics = c;
+ }
+ isSerifFont(e) {
+ const t = e.split('-')[0];
+ return t in (0, l.getSerifFonts)() || -1 !== t.search(/serif/gi);
+ }
+ getBaseFontMetrics(e) {
+ let t = 0,
+ a = Object.create(null),
+ r = !1;
+ let n = (0, l.getStdFontMap)()[e] || e;
+ const i = (0, v.getMetrics)();
+ n in i || (n = this.isSerifFont(e) ? 'Times-Roman' : 'Helvetica');
+ const s = i[n];
+ if ('number' == typeof s) {
+ t = s;
+ r = !0;
+ } else a = s();
+ return {defaultWidth: t, monospace: r, widths: a};
+ }
+ buildCharCodeToWidth(e, t) {
+ const a = Object.create(null),
+ r = t.differences,
+ n = t.defaultEncoding;
+ for (let t = 0; t < 256; t++)
+ t in r && e[r[t]] ? (a[t] = e[r[t]]) : t in n && e[n[t]] && (a[t] = e[n[t]]);
+ return a;
+ }
+ preEvaluateFont(e) {
+ const t = e;
+ let a = e.get('Subtype');
+ if (!(a instanceof i.Name)) throw new r.FormatError('invalid font Subtype');
+ let n,
+ s,
+ o = !1;
+ if ('Type0' === a.name) {
+ const t = e.get('DescendantFonts');
+ if (!t) throw new r.FormatError('Descendant fonts are not specified');
+ if (!((e = Array.isArray(t) ? this.xref.fetchIfRef(t[0]) : t) instanceof i.Dict))
+ throw new r.FormatError('Descendant font is not a dictionary.');
+ a = e.get('Subtype');
+ if (!(a instanceof i.Name)) throw new r.FormatError('invalid font Subtype');
+ o = !0;
+ }
+ const c = e.get('FirstChar') || 0,
+ l = e.get('LastChar') || (o ? 65535 : 255),
+ h = e.get('FontDescriptor');
+ if (h) {
+ n = new F.MurmurHash3_64();
+ const a = t.getRaw('Encoding');
+ if (a instanceof i.Name) n.update(a.name);
+ else if (a instanceof i.Ref) n.update(a.toString());
+ else if (a instanceof i.Dict)
+ for (const e of a.getRawValues())
+ if (e instanceof i.Name) n.update(e.name);
+ else if (e instanceof i.Ref) n.update(e.toString());
+ else if (Array.isArray(e)) {
+ const t = e.length,
+ a = new Array(t);
+ for (let r = 0; r < t; r++) {
+ const t = e[r];
+ t instanceof i.Name
+ ? (a[r] = t.name)
+ : ('number' == typeof t || t instanceof i.Ref) && (a[r] = t.toString());
+ }
+ n.update(a.join());
+ }
+ n.update(`${c}-${l}`);
+ s = e.get('ToUnicode') || t.get('ToUnicode');
+ if (s instanceof y.BaseStream) {
+ const e = s.str || s,
+ t = e.buffer
+ ? new Uint8Array(e.buffer.buffer, 0, e.bufferLength)
+ : new Uint8Array(e.bytes.buffer, e.start, e.end - e.start);
+ n.update(t);
+ } else s instanceof i.Name && n.update(s.name);
+ const r = e.get('Widths') || t.get('Widths');
+ if (Array.isArray(r)) {
+ const e = [];
+ for (const t of r) ('number' == typeof t || t instanceof i.Ref) && e.push(t.toString());
+ n.update(e.join());
+ }
+ if (o) {
+ n.update('compositeFont');
+ const a = e.get('W') || t.get('W');
+ if (Array.isArray(a)) {
+ const e = [];
+ for (const t of a)
+ if ('number' == typeof t || t instanceof i.Ref) e.push(t.toString());
+ else if (Array.isArray(t)) {
+ const a = [];
+ for (const e of t) ('number' == typeof e || e instanceof i.Ref) && a.push(e.toString());
+ e.push(`[${a.join()}]`);
+ }
+ n.update(e.join());
+ }
+ const r = e.getRaw('CIDToGIDMap') || t.getRaw('CIDToGIDMap');
+ r instanceof i.Name
+ ? n.update(r.name)
+ : r instanceof i.Ref
+ ? n.update(r.toString())
+ : r instanceof y.BaseStream && n.update(r.peekBytes());
+ }
+ }
+ return {
+ descriptor: h,
+ dict: e,
+ baseDict: t,
+ composite: o,
+ type: a.name,
+ firstChar: c,
+ lastChar: l,
+ toUnicode: s,
+ hash: n ? n.hexdigest() : '',
+ };
+ }
+ async translateFont({
+ descriptor: e,
+ dict: t,
+ baseDict: a,
+ composite: c,
+ type: h,
+ firstChar: u,
+ lastChar: f,
+ toUnicode: g,
+ cssFontInfo: p,
+ }) {
+ const m = 'Type3' === h;
+ let y;
+ if (!e) {
+ if (!m) {
+ let e = t.get('BaseFont');
+ if (!(e instanceof i.Name)) throw new r.FormatError('Base font is not specified');
+ e = e.name.replace(/[,_]/g, '-');
+ const n = this.getBaseFontMetrics(e),
+ c = e.split('-')[0],
+ d =
+ (this.isSerifFont(c) ? o.FontFlags.Serif : 0) |
+ (n.monospace ? o.FontFlags.FixedPitch : 0) |
+ ((0, l.getSymbolsFonts)()[c] ? o.FontFlags.Symbolic : o.FontFlags.Nonsymbolic);
+ y = {
+ type: h,
+ name: e,
+ loadedName: a.loadedName,
+ widths: n.widths,
+ defaultWidth: n.defaultWidth,
+ isSimulatedFlags: !0,
+ flags: d,
+ firstChar: u,
+ lastChar: f,
+ toUnicode: g,
+ xHeight: 0,
+ capHeight: 0,
+ italicAngle: 0,
+ isType3Font: m,
+ };
+ const p = t.get('Widths'),
+ b = (0, l.getStandardFontName)(e);
+ let w = null;
+ if (b) {
+ y.isStandardFont = !0;
+ w = await this.fetchStandardFontData(b);
+ y.isInternalFont = !!w;
+ }
+ return this.extractDataStructures(t, t, y).then((t) => {
+ if (p) {
+ const e = [];
+ let a = u;
+ for (let t = 0, r = p.length; t < r; t++) e[a++] = this.xref.fetchIfRef(p[t]);
+ t.widths = e;
+ } else t.widths = this.buildCharCodeToWidth(n.widths, t);
+ return new s.Font(e, w, t);
+ });
+ }
+ (e = new i.Dict(null)).set('FontName', i.Name.get(h));
+ e.set('FontBBox', t.getArray('FontBBox') || [0, 0, 0, 0]);
+ }
+ let w,
+ S,
+ x,
+ k,
+ C,
+ v = e.get('FontName'),
+ F = t.get('BaseFont');
+ 'string' == typeof v && (v = i.Name.get(v));
+ 'string' == typeof F && (F = i.Name.get(F));
+ if (!m) {
+ const e = v && v.name,
+ t = F && F.name;
+ if (e !== t) {
+ (0, r.info)(
+ `The FontDescriptor's FontName is "${e}" but should be the same as the Font's BaseFont "${t}".`
+ );
+ e && t && t.startsWith(e) && (v = F);
+ }
+ }
+ v = v || F;
+ if (!(v instanceof i.Name)) throw new r.FormatError('invalid font name');
+ try {
+ w = e.get('FontFile', 'FontFile2', 'FontFile3');
+ } catch (e) {
+ if (!this.options.ignoreErrors) throw e;
+ (0, r.warn)(`translateFont - fetching "${v.name}" font file: "${e}".`);
+ w = new b.NullStream();
+ }
+ let O = !1,
+ T = !1,
+ M = null;
+ if (w) {
+ if (w.dict) {
+ const e = w.dict.get('Subtype');
+ e instanceof i.Name && (S = e.name);
+ x = w.dict.get('Length1');
+ k = w.dict.get('Length2');
+ C = w.dict.get('Length3');
+ }
+ } else if (p) {
+ const e = (0, d.getXfaFontName)(v.name);
+ if (e) {
+ p.fontFamily = `${p.fontFamily}-PdfJS-XFA`;
+ p.metrics = e.metrics || null;
+ M = e.factors || null;
+ w = await this.fetchStandardFontData(e.name);
+ T = !!w;
+ a = t = (0, d.getXfaFontDict)(v.name);
+ c = !0;
+ }
+ } else if (!m) {
+ const e = (0, l.getStandardFontName)(v.name);
+ if (e) {
+ O = !0;
+ w = await this.fetchStandardFontData(e);
+ T = !!w;
+ }
+ }
+ y = {
+ type: h,
+ name: v.name,
+ subtype: S,
+ file: w,
+ length1: x,
+ length2: k,
+ length3: C,
+ isStandardFont: O,
+ isInternalFont: T,
+ loadedName: a.loadedName,
+ composite: c,
+ fixedPitch: !1,
+ fontMatrix: t.getArray('FontMatrix') || r.FONT_IDENTITY_MATRIX,
+ firstChar: u,
+ lastChar: f,
+ toUnicode: g,
+ bbox: e.getArray('FontBBox') || t.getArray('FontBBox'),
+ ascent: e.get('Ascent'),
+ descent: e.get('Descent'),
+ xHeight: e.get('XHeight') || 0,
+ capHeight: e.get('CapHeight') || 0,
+ flags: e.get('Flags'),
+ italicAngle: e.get('ItalicAngle') || 0,
+ isType3Font: m,
+ cssFontInfo: p,
+ scaleFactors: M,
+ };
+ if (c) {
+ const e = a.get('Encoding');
+ e instanceof i.Name && (y.cidEncoding = e.name);
+ const t = await n.CMapFactory.create({
+ encoding: e,
+ fetchBuiltInCMap: this._fetchBuiltInCMapBound,
+ useCMap: null,
+ });
+ y.cMap = t;
+ y.vertical = y.cMap.vertical;
+ }
+ return this.extractDataStructures(t, a, y).then((a) => {
+ this.extractWidths(t, e, a);
+ return new s.Font(v.name, w, a);
+ });
+ }
+ static buildFontPaths(e, t, a, n) {
+ function buildPath(t) {
+ const i = `${e.loadedName}_path_${t}`;
+ try {
+ if (e.renderer.hasBuiltPath(t)) return;
+ a.send('commonobj', [i, 'FontPath', e.renderer.getPathJs(t)]);
+ } catch (e) {
+ if (n.ignoreErrors) {
+ a.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.errorFontBuildPath});
+ (0, r.warn)(`buildFontPaths - ignoring ${i} glyph: "${e}".`);
+ return;
+ }
+ throw e;
+ }
+ }
+ for (const e of t) {
+ buildPath(e.fontChar);
+ const t = e.accent;
+ t && t.fontChar && buildPath(t.fontChar);
+ }
+ }
+ static get fallbackFontDict() {
+ const e = new i.Dict();
+ e.set('BaseFont', i.Name.get('PDFJS-FallbackFont'));
+ e.set('Type', i.Name.get('FallbackType'));
+ e.set('Subtype', i.Name.get('FallbackType'));
+ e.set('Encoding', i.Name.get('WinAnsiEncoding'));
+ return (0, r.shadow)(this, 'fallbackFontDict', e);
+ }
+ }
+ t.PartialEvaluator = PartialEvaluator;
+ class TranslatedFont {
+ constructor({loadedName: e, font: t, dict: a, evaluatorOptions: r}) {
+ this.loadedName = e;
+ this.font = t;
+ this.dict = a;
+ this._evaluatorOptions = r || M;
+ this.type3Loaded = null;
+ this.type3Dependencies = t.isType3Font ? new Set() : null;
+ this.sent = !1;
+ }
+ send(e) {
+ if (!this.sent) {
+ this.sent = !0;
+ e.send('commonobj', [
+ this.loadedName,
+ 'Font',
+ this.font.exportData(this._evaluatorOptions.fontExtraProperties),
+ ]);
+ }
+ }
+ fallback(e) {
+ if (this.font.data) {
+ this.font.disableFontFace = !0;
+ PartialEvaluator.buildFontPaths(this.font, this.font.glyphCacheValues, e, this._evaluatorOptions);
+ }
+ }
+ loadType3Data(e, t, a) {
+ if (this.type3Loaded) return this.type3Loaded;
+ if (!this.font.isType3Font) throw new Error('Must be a Type3 font.');
+ const n = e.clone({ignoreErrors: !1});
+ n.parsingType3Font = !0;
+ const s = new i.RefSet(e.type3FontRefs);
+ this.dict.objId && !s.has(this.dict.objId) && s.put(this.dict.objId);
+ n.type3FontRefs = s;
+ const o = this.font,
+ c = this.type3Dependencies;
+ let l = Promise.resolve();
+ const h = this.dict.get('CharProcs'),
+ u = this.dict.get('Resources') || t,
+ d = Object.create(null),
+ f = r.Util.normalizeRect(o.bbox || [0, 0, 0, 0]),
+ g = f[2] - f[0],
+ p = f[3] - f[1],
+ m = Math.hypot(g, p);
+ for (const e of h.getKeys())
+ l = l.then(() => {
+ const t = h.get(e),
+ i = new O.OperatorList();
+ return n
+ .getOperatorList({stream: t, task: a, resources: u, operatorList: i})
+ .then(() => {
+ i.fnArray[0] === r.OPS.setCharWidthAndBounds && this._removeType3ColorOperators(i, m);
+ d[e] = i.getIR();
+ for (const e of i.dependencies) c.add(e);
+ })
+ .catch(function (t) {
+ (0, r.warn)(`Type3 font resource "${e}" is not available.`);
+ const a = new O.OperatorList();
+ d[e] = a.getIR();
+ });
+ });
+ this.type3Loaded = l.then(() => {
+ o.charProcOperatorList = d;
+ if (this._bbox) {
+ o.isCharBBox = !0;
+ o.bbox = this._bbox;
+ }
+ });
+ return this.type3Loaded;
+ }
+ _removeType3ColorOperators(e, t = NaN) {
+ const a = r.Util.normalizeRect(e.argsArray[0].slice(2)),
+ n = a[2] - a[0],
+ i = a[3] - a[1],
+ s = Math.hypot(n, i);
+ if (0 === n || 0 === i) {
+ e.fnArray.splice(0, 1);
+ e.argsArray.splice(0, 1);
+ } else if (0 === t || Math.round(s / t) >= 10) {
+ this._bbox || (this._bbox = [1 / 0, 1 / 0, -1 / 0, -1 / 0]);
+ this._bbox[0] = Math.min(this._bbox[0], a[0]);
+ this._bbox[1] = Math.min(this._bbox[1], a[1]);
+ this._bbox[2] = Math.max(this._bbox[2], a[2]);
+ this._bbox[3] = Math.max(this._bbox[3], a[3]);
+ }
+ let o = 0,
+ c = e.length;
+ for (; o < c; ) {
+ switch (e.fnArray[o]) {
+ case r.OPS.setCharWidthAndBounds:
+ break;
+ case r.OPS.setStrokeColorSpace:
+ case r.OPS.setFillColorSpace:
+ case r.OPS.setStrokeColor:
+ case r.OPS.setStrokeColorN:
+ case r.OPS.setFillColor:
+ case r.OPS.setFillColorN:
+ case r.OPS.setStrokeGray:
+ case r.OPS.setFillGray:
+ case r.OPS.setStrokeRGBColor:
+ case r.OPS.setFillRGBColor:
+ case r.OPS.setStrokeCMYKColor:
+ case r.OPS.setFillCMYKColor:
+ case r.OPS.shadingFill:
+ case r.OPS.setRenderingIntent:
+ e.fnArray.splice(o, 1);
+ e.argsArray.splice(o, 1);
+ c--;
+ continue;
+ case r.OPS.setGState:
+ const [t] = e.argsArray[o];
+ let a = 0,
+ n = t.length;
+ for (; a < n; ) {
+ const [e] = t[a];
+ switch (e) {
+ case 'TR':
+ case 'TR2':
+ case 'HT':
+ case 'BG':
+ case 'BG2':
+ case 'UCR':
+ case 'UCR2':
+ t.splice(a, 1);
+ n--;
+ continue;
+ }
+ a++;
+ }
+ }
+ o++;
+ }
+ }
+ }
+ class StateManager {
+ constructor(e = new EvalState()) {
+ this.state = e;
+ this.stateStack = [];
+ }
+ save() {
+ const e = this.state;
+ this.stateStack.push(this.state);
+ this.state = e.clone();
+ }
+ restore() {
+ const e = this.stateStack.pop();
+ e && (this.state = e);
+ }
+ transform(e) {
+ this.state.ctm = r.Util.transform(this.state.ctm, e);
+ }
+ }
+ class TextState {
+ constructor() {
+ this.ctm = new Float32Array(r.IDENTITY_MATRIX);
+ this.fontName = null;
+ this.fontSize = 0;
+ this.font = null;
+ this.fontMatrix = r.FONT_IDENTITY_MATRIX;
+ this.textMatrix = r.IDENTITY_MATRIX.slice();
+ this.textLineMatrix = r.IDENTITY_MATRIX.slice();
+ this.charSpacing = 0;
+ this.wordSpacing = 0;
+ this.leading = 0;
+ this.textHScale = 1;
+ this.textRise = 0;
+ }
+ setTextMatrix(e, t, a, r, n, i) {
+ const s = this.textMatrix;
+ s[0] = e;
+ s[1] = t;
+ s[2] = a;
+ s[3] = r;
+ s[4] = n;
+ s[5] = i;
+ }
+ setTextLineMatrix(e, t, a, r, n, i) {
+ const s = this.textLineMatrix;
+ s[0] = e;
+ s[1] = t;
+ s[2] = a;
+ s[3] = r;
+ s[4] = n;
+ s[5] = i;
+ }
+ translateTextMatrix(e, t) {
+ const a = this.textMatrix;
+ a[4] = a[0] * e + a[2] * t + a[4];
+ a[5] = a[1] * e + a[3] * t + a[5];
+ }
+ translateTextLineMatrix(e, t) {
+ const a = this.textLineMatrix;
+ a[4] = a[0] * e + a[2] * t + a[4];
+ a[5] = a[1] * e + a[3] * t + a[5];
+ }
+ carriageReturn() {
+ this.translateTextLineMatrix(0, -this.leading);
+ this.textMatrix = this.textLineMatrix.slice();
+ }
+ clone() {
+ const e = Object.create(this);
+ e.textMatrix = this.textMatrix.slice();
+ e.textLineMatrix = this.textLineMatrix.slice();
+ e.fontMatrix = this.fontMatrix.slice();
+ return e;
+ }
+ }
+ class EvalState {
+ constructor() {
+ this.ctm = new Float32Array(r.IDENTITY_MATRIX);
+ this.font = null;
+ this.textRenderingMode = r.TextRenderingMode.FILL;
+ this.fillColorSpace = S.ColorSpace.singletons.gray;
+ this.strokeColorSpace = S.ColorSpace.singletons.gray;
+ }
+ clone() {
+ return Object.create(this);
+ }
+ }
+ class EvaluatorPreprocessor {
+ static get opMap() {
+ const e = (0, C.getLookupTableFactory)(function (e) {
+ e.w = {id: r.OPS.setLineWidth, numArgs: 1, variableArgs: !1};
+ e.J = {id: r.OPS.setLineCap, numArgs: 1, variableArgs: !1};
+ e.j = {id: r.OPS.setLineJoin, numArgs: 1, variableArgs: !1};
+ e.M = {id: r.OPS.setMiterLimit, numArgs: 1, variableArgs: !1};
+ e.d = {id: r.OPS.setDash, numArgs: 2, variableArgs: !1};
+ e.ri = {id: r.OPS.setRenderingIntent, numArgs: 1, variableArgs: !1};
+ e.i = {id: r.OPS.setFlatness, numArgs: 1, variableArgs: !1};
+ e.gs = {id: r.OPS.setGState, numArgs: 1, variableArgs: !1};
+ e.q = {id: r.OPS.save, numArgs: 0, variableArgs: !1};
+ e.Q = {id: r.OPS.restore, numArgs: 0, variableArgs: !1};
+ e.cm = {id: r.OPS.transform, numArgs: 6, variableArgs: !1};
+ e.m = {id: r.OPS.moveTo, numArgs: 2, variableArgs: !1};
+ e.l = {id: r.OPS.lineTo, numArgs: 2, variableArgs: !1};
+ e.c = {id: r.OPS.curveTo, numArgs: 6, variableArgs: !1};
+ e.v = {id: r.OPS.curveTo2, numArgs: 4, variableArgs: !1};
+ e.y = {id: r.OPS.curveTo3, numArgs: 4, variableArgs: !1};
+ e.h = {id: r.OPS.closePath, numArgs: 0, variableArgs: !1};
+ e.re = {id: r.OPS.rectangle, numArgs: 4, variableArgs: !1};
+ e.S = {id: r.OPS.stroke, numArgs: 0, variableArgs: !1};
+ e.s = {id: r.OPS.closeStroke, numArgs: 0, variableArgs: !1};
+ e.f = {id: r.OPS.fill, numArgs: 0, variableArgs: !1};
+ e.F = {id: r.OPS.fill, numArgs: 0, variableArgs: !1};
+ e['f*'] = {id: r.OPS.eoFill, numArgs: 0, variableArgs: !1};
+ e.B = {id: r.OPS.fillStroke, numArgs: 0, variableArgs: !1};
+ e['B*'] = {id: r.OPS.eoFillStroke, numArgs: 0, variableArgs: !1};
+ e.b = {id: r.OPS.closeFillStroke, numArgs: 0, variableArgs: !1};
+ e['b*'] = {id: r.OPS.closeEOFillStroke, numArgs: 0, variableArgs: !1};
+ e.n = {id: r.OPS.endPath, numArgs: 0, variableArgs: !1};
+ e.W = {id: r.OPS.clip, numArgs: 0, variableArgs: !1};
+ e['W*'] = {id: r.OPS.eoClip, numArgs: 0, variableArgs: !1};
+ e.BT = {id: r.OPS.beginText, numArgs: 0, variableArgs: !1};
+ e.ET = {id: r.OPS.endText, numArgs: 0, variableArgs: !1};
+ e.Tc = {id: r.OPS.setCharSpacing, numArgs: 1, variableArgs: !1};
+ e.Tw = {id: r.OPS.setWordSpacing, numArgs: 1, variableArgs: !1};
+ e.Tz = {id: r.OPS.setHScale, numArgs: 1, variableArgs: !1};
+ e.TL = {id: r.OPS.setLeading, numArgs: 1, variableArgs: !1};
+ e.Tf = {id: r.OPS.setFont, numArgs: 2, variableArgs: !1};
+ e.Tr = {id: r.OPS.setTextRenderingMode, numArgs: 1, variableArgs: !1};
+ e.Ts = {id: r.OPS.setTextRise, numArgs: 1, variableArgs: !1};
+ e.Td = {id: r.OPS.moveText, numArgs: 2, variableArgs: !1};
+ e.TD = {id: r.OPS.setLeadingMoveText, numArgs: 2, variableArgs: !1};
+ e.Tm = {id: r.OPS.setTextMatrix, numArgs: 6, variableArgs: !1};
+ e['T*'] = {id: r.OPS.nextLine, numArgs: 0, variableArgs: !1};
+ e.Tj = {id: r.OPS.showText, numArgs: 1, variableArgs: !1};
+ e.TJ = {id: r.OPS.showSpacedText, numArgs: 1, variableArgs: !1};
+ e["'"] = {id: r.OPS.nextLineShowText, numArgs: 1, variableArgs: !1};
+ e['"'] = {id: r.OPS.nextLineSetSpacingShowText, numArgs: 3, variableArgs: !1};
+ e.d0 = {id: r.OPS.setCharWidth, numArgs: 2, variableArgs: !1};
+ e.d1 = {id: r.OPS.setCharWidthAndBounds, numArgs: 6, variableArgs: !1};
+ e.CS = {id: r.OPS.setStrokeColorSpace, numArgs: 1, variableArgs: !1};
+ e.cs = {id: r.OPS.setFillColorSpace, numArgs: 1, variableArgs: !1};
+ e.SC = {id: r.OPS.setStrokeColor, numArgs: 4, variableArgs: !0};
+ e.SCN = {id: r.OPS.setStrokeColorN, numArgs: 33, variableArgs: !0};
+ e.sc = {id: r.OPS.setFillColor, numArgs: 4, variableArgs: !0};
+ e.scn = {id: r.OPS.setFillColorN, numArgs: 33, variableArgs: !0};
+ e.G = {id: r.OPS.setStrokeGray, numArgs: 1, variableArgs: !1};
+ e.g = {id: r.OPS.setFillGray, numArgs: 1, variableArgs: !1};
+ e.RG = {id: r.OPS.setStrokeRGBColor, numArgs: 3, variableArgs: !1};
+ e.rg = {id: r.OPS.setFillRGBColor, numArgs: 3, variableArgs: !1};
+ e.K = {id: r.OPS.setStrokeCMYKColor, numArgs: 4, variableArgs: !1};
+ e.k = {id: r.OPS.setFillCMYKColor, numArgs: 4, variableArgs: !1};
+ e.sh = {id: r.OPS.shadingFill, numArgs: 1, variableArgs: !1};
+ e.BI = {id: r.OPS.beginInlineImage, numArgs: 0, variableArgs: !1};
+ e.ID = {id: r.OPS.beginImageData, numArgs: 0, variableArgs: !1};
+ e.EI = {id: r.OPS.endInlineImage, numArgs: 1, variableArgs: !1};
+ e.Do = {id: r.OPS.paintXObject, numArgs: 1, variableArgs: !1};
+ e.MP = {id: r.OPS.markPoint, numArgs: 1, variableArgs: !1};
+ e.DP = {id: r.OPS.markPointProps, numArgs: 2, variableArgs: !1};
+ e.BMC = {id: r.OPS.beginMarkedContent, numArgs: 1, variableArgs: !1};
+ e.BDC = {id: r.OPS.beginMarkedContentProps, numArgs: 2, variableArgs: !1};
+ e.EMC = {id: r.OPS.endMarkedContent, numArgs: 0, variableArgs: !1};
+ e.BX = {id: r.OPS.beginCompat, numArgs: 0, variableArgs: !1};
+ e.EX = {id: r.OPS.endCompat, numArgs: 0, variableArgs: !1};
+ e.BM = null;
+ e.BD = null;
+ e.true = null;
+ e.fa = null;
+ e.fal = null;
+ e.fals = null;
+ e.false = null;
+ e.nu = null;
+ e.nul = null;
+ e.null = null;
+ });
+ return (0, r.shadow)(this, 'opMap', e());
+ }
+ static get MAX_INVALID_PATH_OPS() {
+ return (0, r.shadow)(this, 'MAX_INVALID_PATH_OPS', 10);
+ }
+ constructor(e, t, a = new StateManager()) {
+ this.parser = new p.Parser({lexer: new p.Lexer(e, EvaluatorPreprocessor.opMap), xref: t});
+ this.stateManager = a;
+ this.nonProcessedArgs = [];
+ this._isPathOp = !1;
+ this._numInvalidPathOPS = 0;
+ }
+ get savedStatesDepth() {
+ return this.stateManager.stateStack.length;
+ }
+ read(e) {
+ let t = e.args;
+ for (;;) {
+ const a = this.parser.getObj();
+ if (a instanceof i.Cmd) {
+ const n = a.cmd,
+ i = EvaluatorPreprocessor.opMap[n];
+ if (!i) {
+ (0, r.warn)(`Unknown command "${n}".`);
+ continue;
+ }
+ const s = i.id,
+ o = i.numArgs;
+ let c = null !== t ? t.length : 0;
+ this._isPathOp || (this._numInvalidPathOPS = 0);
+ this._isPathOp = s >= r.OPS.moveTo && s <= r.OPS.endPath;
+ if (i.variableArgs)
+ c > o && (0, r.info)(`Command ${n}: expected [0, ${o}] args, but received ${c} args.`);
+ else {
+ if (c !== o) {
+ const e = this.nonProcessedArgs;
+ for (; c > o; ) {
+ e.push(t.shift());
+ c--;
+ }
+ for (; c < o && 0 !== e.length; ) {
+ null === t && (t = []);
+ t.unshift(e.pop());
+ c++;
+ }
+ }
+ if (c < o) {
+ const e = `command ${n}: expected ${o} args, but received ${c} args.`;
+ if (this._isPathOp && ++this._numInvalidPathOPS > EvaluatorPreprocessor.MAX_INVALID_PATH_OPS)
+ throw new r.FormatError(`Invalid ${e}`);
+ (0, r.warn)(`Skipping ${e}`);
+ null !== t && (t.length = 0);
+ continue;
+ }
+ }
+ this.preprocessCommand(s, t);
+ e.fn = s;
+ e.args = t;
+ return !0;
+ }
+ if (a === i.EOF) return !1;
+ if (null !== a) {
+ null === t && (t = []);
+ t.push(a);
+ if (t.length > 33) throw new r.FormatError('Too many arguments');
+ }
+ }
+ }
+ preprocessCommand(e, t) {
+ switch (0 | e) {
+ case r.OPS.save:
+ this.stateManager.save();
+ break;
+ case r.OPS.restore:
+ this.stateManager.restore();
+ break;
+ case r.OPS.transform:
+ this.stateManager.transform(t);
+ }
+ }
+ }
+ t.EvaluatorPreprocessor = EvaluatorPreprocessor;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.IdentityCMap = t.CMapFactory = t.CMap = void 0;
+ var r = a(2),
+ n = a(5),
+ i = a(7),
+ s = a(17),
+ o = a(6),
+ c = a(10);
+ const l = [
+ 'Adobe-GB1-UCS2',
+ 'Adobe-CNS1-UCS2',
+ 'Adobe-Japan1-UCS2',
+ 'Adobe-Korea1-UCS2',
+ '78-EUC-H',
+ '78-EUC-V',
+ '78-H',
+ '78-RKSJ-H',
+ '78-RKSJ-V',
+ '78-V',
+ '78ms-RKSJ-H',
+ '78ms-RKSJ-V',
+ '83pv-RKSJ-H',
+ '90ms-RKSJ-H',
+ '90ms-RKSJ-V',
+ '90msp-RKSJ-H',
+ '90msp-RKSJ-V',
+ '90pv-RKSJ-H',
+ '90pv-RKSJ-V',
+ 'Add-H',
+ 'Add-RKSJ-H',
+ 'Add-RKSJ-V',
+ 'Add-V',
+ 'Adobe-CNS1-0',
+ 'Adobe-CNS1-1',
+ 'Adobe-CNS1-2',
+ 'Adobe-CNS1-3',
+ 'Adobe-CNS1-4',
+ 'Adobe-CNS1-5',
+ 'Adobe-CNS1-6',
+ 'Adobe-GB1-0',
+ 'Adobe-GB1-1',
+ 'Adobe-GB1-2',
+ 'Adobe-GB1-3',
+ 'Adobe-GB1-4',
+ 'Adobe-GB1-5',
+ 'Adobe-Japan1-0',
+ 'Adobe-Japan1-1',
+ 'Adobe-Japan1-2',
+ 'Adobe-Japan1-3',
+ 'Adobe-Japan1-4',
+ 'Adobe-Japan1-5',
+ 'Adobe-Japan1-6',
+ 'Adobe-Korea1-0',
+ 'Adobe-Korea1-1',
+ 'Adobe-Korea1-2',
+ 'B5-H',
+ 'B5-V',
+ 'B5pc-H',
+ 'B5pc-V',
+ 'CNS-EUC-H',
+ 'CNS-EUC-V',
+ 'CNS1-H',
+ 'CNS1-V',
+ 'CNS2-H',
+ 'CNS2-V',
+ 'ETHK-B5-H',
+ 'ETHK-B5-V',
+ 'ETen-B5-H',
+ 'ETen-B5-V',
+ 'ETenms-B5-H',
+ 'ETenms-B5-V',
+ 'EUC-H',
+ 'EUC-V',
+ 'Ext-H',
+ 'Ext-RKSJ-H',
+ 'Ext-RKSJ-V',
+ 'Ext-V',
+ 'GB-EUC-H',
+ 'GB-EUC-V',
+ 'GB-H',
+ 'GB-V',
+ 'GBK-EUC-H',
+ 'GBK-EUC-V',
+ 'GBK2K-H',
+ 'GBK2K-V',
+ 'GBKp-EUC-H',
+ 'GBKp-EUC-V',
+ 'GBT-EUC-H',
+ 'GBT-EUC-V',
+ 'GBT-H',
+ 'GBT-V',
+ 'GBTpc-EUC-H',
+ 'GBTpc-EUC-V',
+ 'GBpc-EUC-H',
+ 'GBpc-EUC-V',
+ 'H',
+ 'HKdla-B5-H',
+ 'HKdla-B5-V',
+ 'HKdlb-B5-H',
+ 'HKdlb-B5-V',
+ 'HKgccs-B5-H',
+ 'HKgccs-B5-V',
+ 'HKm314-B5-H',
+ 'HKm314-B5-V',
+ 'HKm471-B5-H',
+ 'HKm471-B5-V',
+ 'HKscs-B5-H',
+ 'HKscs-B5-V',
+ 'Hankaku',
+ 'Hiragana',
+ 'KSC-EUC-H',
+ 'KSC-EUC-V',
+ 'KSC-H',
+ 'KSC-Johab-H',
+ 'KSC-Johab-V',
+ 'KSC-V',
+ 'KSCms-UHC-H',
+ 'KSCms-UHC-HW-H',
+ 'KSCms-UHC-HW-V',
+ 'KSCms-UHC-V',
+ 'KSCpc-EUC-H',
+ 'KSCpc-EUC-V',
+ 'Katakana',
+ 'NWP-H',
+ 'NWP-V',
+ 'RKSJ-H',
+ 'RKSJ-V',
+ 'Roman',
+ 'UniCNS-UCS2-H',
+ 'UniCNS-UCS2-V',
+ 'UniCNS-UTF16-H',
+ 'UniCNS-UTF16-V',
+ 'UniCNS-UTF32-H',
+ 'UniCNS-UTF32-V',
+ 'UniCNS-UTF8-H',
+ 'UniCNS-UTF8-V',
+ 'UniGB-UCS2-H',
+ 'UniGB-UCS2-V',
+ 'UniGB-UTF16-H',
+ 'UniGB-UTF16-V',
+ 'UniGB-UTF32-H',
+ 'UniGB-UTF32-V',
+ 'UniGB-UTF8-H',
+ 'UniGB-UTF8-V',
+ 'UniJIS-UCS2-H',
+ 'UniJIS-UCS2-HW-H',
+ 'UniJIS-UCS2-HW-V',
+ 'UniJIS-UCS2-V',
+ 'UniJIS-UTF16-H',
+ 'UniJIS-UTF16-V',
+ 'UniJIS-UTF32-H',
+ 'UniJIS-UTF32-V',
+ 'UniJIS-UTF8-H',
+ 'UniJIS-UTF8-V',
+ 'UniJIS2004-UTF16-H',
+ 'UniJIS2004-UTF16-V',
+ 'UniJIS2004-UTF32-H',
+ 'UniJIS2004-UTF32-V',
+ 'UniJIS2004-UTF8-H',
+ 'UniJIS2004-UTF8-V',
+ 'UniJISPro-UCS2-HW-V',
+ 'UniJISPro-UCS2-V',
+ 'UniJISPro-UTF8-V',
+ 'UniJISX0213-UTF32-H',
+ 'UniJISX0213-UTF32-V',
+ 'UniJISX02132004-UTF32-H',
+ 'UniJISX02132004-UTF32-V',
+ 'UniKS-UCS2-H',
+ 'UniKS-UCS2-V',
+ 'UniKS-UTF16-H',
+ 'UniKS-UTF16-V',
+ 'UniKS-UTF32-H',
+ 'UniKS-UTF32-V',
+ 'UniKS-UTF8-H',
+ 'UniKS-UTF8-V',
+ 'V',
+ 'WP-Symbol',
+ ],
+ h = 2 ** 24 - 1;
+ class CMap {
+ constructor(e = !1) {
+ this.codespaceRanges = [[], [], [], []];
+ this.numCodespaceRanges = 0;
+ this._map = [];
+ this.name = '';
+ this.vertical = !1;
+ this.useCMap = null;
+ this.builtInCMap = e;
+ }
+ addCodespaceRange(e, t, a) {
+ this.codespaceRanges[e - 1].push(t, a);
+ this.numCodespaceRanges++;
+ }
+ mapCidRange(e, t, a) {
+ if (t - e > h) throw new Error('mapCidRange - ignoring data above MAX_MAP_RANGE.');
+ for (; e <= t; ) this._map[e++] = a++;
+ }
+ mapBfRange(e, t, a) {
+ if (t - e > h) throw new Error('mapBfRange - ignoring data above MAX_MAP_RANGE.');
+ const r = a.length - 1;
+ for (; e <= t; ) {
+ this._map[e++] = a;
+ const t = a.charCodeAt(r) + 1;
+ t > 255
+ ? (a = a.substring(0, r - 1) + String.fromCharCode(a.charCodeAt(r - 1) + 1) + '\0')
+ : (a = a.substring(0, r) + String.fromCharCode(t));
+ }
+ }
+ mapBfRangeToArray(e, t, a) {
+ if (t - e > h) throw new Error('mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.');
+ const r = a.length;
+ let n = 0;
+ for (; e <= t && n < r; ) {
+ this._map[e] = a[n++];
+ ++e;
+ }
+ }
+ mapOne(e, t) {
+ this._map[e] = t;
+ }
+ lookup(e) {
+ return this._map[e];
+ }
+ contains(e) {
+ return void 0 !== this._map[e];
+ }
+ forEach(e) {
+ const t = this._map,
+ a = t.length;
+ if (a <= 65536) for (let r = 0; r < a; r++) void 0 !== t[r] && e(r, t[r]);
+ else for (const a in t) e(a, t[a]);
+ }
+ charCodeOf(e) {
+ const t = this._map;
+ if (t.length <= 65536) return t.indexOf(e);
+ for (const a in t) if (t[a] === e) return 0 | a;
+ return -1;
+ }
+ getMap() {
+ return this._map;
+ }
+ readCharCode(e, t, a) {
+ let r = 0;
+ const n = this.codespaceRanges;
+ for (let i = 0, s = n.length; i < s; i++) {
+ r = ((r << 8) | e.charCodeAt(t + i)) >>> 0;
+ const s = n[i];
+ for (let e = 0, t = s.length; e < t; ) {
+ const t = s[e++],
+ n = s[e++];
+ if (r >= t && r <= n) {
+ a.charcode = r;
+ a.length = i + 1;
+ return;
+ }
+ }
+ }
+ a.charcode = 0;
+ a.length = 1;
+ }
+ getCharCodeLength(e) {
+ const t = this.codespaceRanges;
+ for (let a = 0, r = t.length; a < r; a++) {
+ const r = t[a];
+ for (let t = 0, n = r.length; t < n; ) {
+ const n = r[t++],
+ i = r[t++];
+ if (e >= n && e <= i) return a + 1;
+ }
+ }
+ return 1;
+ }
+ get length() {
+ return this._map.length;
+ }
+ get isIdentityCMap() {
+ if ('Identity-H' !== this.name && 'Identity-V' !== this.name) return !1;
+ if (65536 !== this._map.length) return !1;
+ for (let e = 0; e < 65536; e++) if (this._map[e] !== e) return !1;
+ return !0;
+ }
+ }
+ t.CMap = CMap;
+ class IdentityCMap extends CMap {
+ constructor(e, t) {
+ super();
+ this.vertical = e;
+ this.addCodespaceRange(t, 0, 65535);
+ }
+ mapCidRange(e, t, a) {
+ (0, r.unreachable)('should not call mapCidRange');
+ }
+ mapBfRange(e, t, a) {
+ (0, r.unreachable)('should not call mapBfRange');
+ }
+ mapBfRangeToArray(e, t, a) {
+ (0, r.unreachable)('should not call mapBfRangeToArray');
+ }
+ mapOne(e, t) {
+ (0, r.unreachable)('should not call mapCidOne');
+ }
+ lookup(e) {
+ return Number.isInteger(e) && e <= 65535 ? e : void 0;
+ }
+ contains(e) {
+ return Number.isInteger(e) && e <= 65535;
+ }
+ forEach(e) {
+ for (let t = 0; t <= 65535; t++) e(t, t);
+ }
+ charCodeOf(e) {
+ return Number.isInteger(e) && e <= 65535 ? e : -1;
+ }
+ getMap() {
+ const e = new Array(65536);
+ for (let t = 0; t <= 65535; t++) e[t] = t;
+ return e;
+ }
+ get length() {
+ return 65536;
+ }
+ get isIdentityCMap() {
+ (0, r.unreachable)('should not access .isIdentityCMap');
+ }
+ }
+ t.IdentityCMap = IdentityCMap;
+ const u = (function BinaryCMapReaderClosure() {
+ function hexToInt(e, t) {
+ let a = 0;
+ for (let r = 0; r <= t; r++) a = (a << 8) | e[r];
+ return a >>> 0;
+ }
+ function hexToStr(e, t) {
+ return 1 === t
+ ? String.fromCharCode(e[0], e[1])
+ : 3 === t
+ ? String.fromCharCode(e[0], e[1], e[2], e[3])
+ : String.fromCharCode.apply(null, e.subarray(0, t + 1));
+ }
+ function addHex(e, t, a) {
+ let r = 0;
+ for (let n = a; n >= 0; n--) {
+ r += e[n] + t[n];
+ e[n] = 255 & r;
+ r >>= 8;
+ }
+ }
+ function incHex(e, t) {
+ let a = 1;
+ for (let r = t; r >= 0 && a > 0; r--) {
+ a += e[r];
+ e[r] = 255 & a;
+ a >>= 8;
+ }
+ }
+ const e = 16;
+ class BinaryCMapStream {
+ constructor(e) {
+ this.buffer = e;
+ this.pos = 0;
+ this.end = e.length;
+ this.tmpBuf = new Uint8Array(19);
+ }
+ readByte() {
+ return this.pos >= this.end ? -1 : this.buffer[this.pos++];
+ }
+ readNumber() {
+ let e,
+ t = 0;
+ do {
+ const a = this.readByte();
+ if (a < 0) throw new r.FormatError('unexpected EOF in bcmap');
+ e = !(128 & a);
+ t = (t << 7) | (127 & a);
+ } while (!e);
+ return t;
+ }
+ readSigned() {
+ const e = this.readNumber();
+ return 1 & e ? ~(e >>> 1) : e >>> 1;
+ }
+ readHex(e, t) {
+ e.set(this.buffer.subarray(this.pos, this.pos + t + 1));
+ this.pos += t + 1;
+ }
+ readHexNumber(e, t) {
+ let a;
+ const n = this.tmpBuf;
+ let i = 0;
+ do {
+ const e = this.readByte();
+ if (e < 0) throw new r.FormatError('unexpected EOF in bcmap');
+ a = !(128 & e);
+ n[i++] = 127 & e;
+ } while (!a);
+ let s = t,
+ o = 0,
+ c = 0;
+ for (; s >= 0; ) {
+ for (; c < 8 && n.length > 0; ) {
+ o |= n[--i] << c;
+ c += 7;
+ }
+ e[s] = 255 & o;
+ s--;
+ o >>= 8;
+ c -= 8;
+ }
+ }
+ readHexSigned(e, t) {
+ this.readHexNumber(e, t);
+ const a = 1 & e[t] ? 255 : 0;
+ let r = 0;
+ for (let n = 0; n <= t; n++) {
+ r = ((1 & r) << 8) | e[n];
+ e[n] = (r >> 1) ^ a;
+ }
+ }
+ readString() {
+ const e = this.readNumber();
+ let t = '';
+ for (let a = 0; a < e; a++) t += String.fromCharCode(this.readNumber());
+ return t;
+ }
+ }
+ return class BinaryCMapReader {
+ async process(t, a, r) {
+ const n = new BinaryCMapStream(t),
+ i = n.readByte();
+ a.vertical = !!(1 & i);
+ let s = null;
+ const o = new Uint8Array(e),
+ c = new Uint8Array(e),
+ l = new Uint8Array(e),
+ h = new Uint8Array(e),
+ u = new Uint8Array(e);
+ let d, f;
+ for (; (f = n.readByte()) >= 0; ) {
+ const t = f >> 5;
+ if (7 === t) {
+ switch (31 & f) {
+ case 0:
+ n.readString();
+ break;
+ case 1:
+ s = n.readString();
+ }
+ continue;
+ }
+ const r = !!(16 & f),
+ i = 15 & f;
+ if (i + 1 > e) throw new Error('BinaryCMapReader.process: Invalid dataSize.');
+ const g = 1,
+ p = n.readNumber();
+ switch (t) {
+ case 0:
+ n.readHex(o, i);
+ n.readHexNumber(c, i);
+ addHex(c, o, i);
+ a.addCodespaceRange(i + 1, hexToInt(o, i), hexToInt(c, i));
+ for (let e = 1; e < p; e++) {
+ incHex(c, i);
+ n.readHexNumber(o, i);
+ addHex(o, c, i);
+ n.readHexNumber(c, i);
+ addHex(c, o, i);
+ a.addCodespaceRange(i + 1, hexToInt(o, i), hexToInt(c, i));
+ }
+ break;
+ case 1:
+ n.readHex(o, i);
+ n.readHexNumber(c, i);
+ addHex(c, o, i);
+ n.readNumber();
+ for (let e = 1; e < p; e++) {
+ incHex(c, i);
+ n.readHexNumber(o, i);
+ addHex(o, c, i);
+ n.readHexNumber(c, i);
+ addHex(c, o, i);
+ n.readNumber();
+ }
+ break;
+ case 2:
+ n.readHex(l, i);
+ d = n.readNumber();
+ a.mapOne(hexToInt(l, i), d);
+ for (let e = 1; e < p; e++) {
+ incHex(l, i);
+ if (!r) {
+ n.readHexNumber(u, i);
+ addHex(l, u, i);
+ }
+ d = n.readSigned() + (d + 1);
+ a.mapOne(hexToInt(l, i), d);
+ }
+ break;
+ case 3:
+ n.readHex(o, i);
+ n.readHexNumber(c, i);
+ addHex(c, o, i);
+ d = n.readNumber();
+ a.mapCidRange(hexToInt(o, i), hexToInt(c, i), d);
+ for (let e = 1; e < p; e++) {
+ incHex(c, i);
+ if (r) o.set(c);
+ else {
+ n.readHexNumber(o, i);
+ addHex(o, c, i);
+ }
+ n.readHexNumber(c, i);
+ addHex(c, o, i);
+ d = n.readNumber();
+ a.mapCidRange(hexToInt(o, i), hexToInt(c, i), d);
+ }
+ break;
+ case 4:
+ n.readHex(l, g);
+ n.readHex(h, i);
+ a.mapOne(hexToInt(l, g), hexToStr(h, i));
+ for (let e = 1; e < p; e++) {
+ incHex(l, g);
+ if (!r) {
+ n.readHexNumber(u, g);
+ addHex(l, u, g);
+ }
+ incHex(h, i);
+ n.readHexSigned(u, i);
+ addHex(h, u, i);
+ a.mapOne(hexToInt(l, g), hexToStr(h, i));
+ }
+ break;
+ case 5:
+ n.readHex(o, g);
+ n.readHexNumber(c, g);
+ addHex(c, o, g);
+ n.readHex(h, i);
+ a.mapBfRange(hexToInt(o, g), hexToInt(c, g), hexToStr(h, i));
+ for (let e = 1; e < p; e++) {
+ incHex(c, g);
+ if (r) o.set(c);
+ else {
+ n.readHexNumber(o, g);
+ addHex(o, c, g);
+ }
+ n.readHexNumber(c, g);
+ addHex(c, o, g);
+ n.readHex(h, i);
+ a.mapBfRange(hexToInt(o, g), hexToInt(c, g), hexToStr(h, i));
+ }
+ break;
+ default:
+ throw new Error(`BinaryCMapReader.process - unknown type: ${t}`);
+ }
+ }
+ return s ? r(s) : a;
+ }
+ };
+ })(),
+ d = (function CMapFactoryClosure() {
+ function strToInt(e) {
+ let t = 0;
+ for (let a = 0; a < e.length; a++) t = (t << 8) | e.charCodeAt(a);
+ return t >>> 0;
+ }
+ function expectString(e) {
+ if ('string' != typeof e) throw new r.FormatError('Malformed CMap: expected string.');
+ }
+ function expectInt(e) {
+ if (!Number.isInteger(e)) throw new r.FormatError('Malformed CMap: expected int.');
+ }
+ function parseBfChar(e, t) {
+ for (;;) {
+ let a = t.getObj();
+ if (a === n.EOF) break;
+ if ((0, n.isCmd)(a, 'endbfchar')) return;
+ expectString(a);
+ const r = strToInt(a);
+ a = t.getObj();
+ expectString(a);
+ const i = a;
+ e.mapOne(r, i);
+ }
+ }
+ function parseBfRange(e, t) {
+ for (;;) {
+ let a = t.getObj();
+ if (a === n.EOF) break;
+ if ((0, n.isCmd)(a, 'endbfrange')) return;
+ expectString(a);
+ const r = strToInt(a);
+ a = t.getObj();
+ expectString(a);
+ const i = strToInt(a);
+ a = t.getObj();
+ if (Number.isInteger(a) || 'string' == typeof a) {
+ const t = Number.isInteger(a) ? String.fromCharCode(a) : a;
+ e.mapBfRange(r, i, t);
+ } else {
+ if (!(0, n.isCmd)(a, '[')) break;
+ {
+ a = t.getObj();
+ const s = [];
+ for (; !(0, n.isCmd)(a, ']') && a !== n.EOF; ) {
+ s.push(a);
+ a = t.getObj();
+ }
+ e.mapBfRangeToArray(r, i, s);
+ }
+ }
+ }
+ throw new r.FormatError('Invalid bf range.');
+ }
+ function parseCidChar(e, t) {
+ for (;;) {
+ let a = t.getObj();
+ if (a === n.EOF) break;
+ if ((0, n.isCmd)(a, 'endcidchar')) return;
+ expectString(a);
+ const r = strToInt(a);
+ a = t.getObj();
+ expectInt(a);
+ const i = a;
+ e.mapOne(r, i);
+ }
+ }
+ function parseCidRange(e, t) {
+ for (;;) {
+ let a = t.getObj();
+ if (a === n.EOF) break;
+ if ((0, n.isCmd)(a, 'endcidrange')) return;
+ expectString(a);
+ const r = strToInt(a);
+ a = t.getObj();
+ expectString(a);
+ const i = strToInt(a);
+ a = t.getObj();
+ expectInt(a);
+ const s = a;
+ e.mapCidRange(r, i, s);
+ }
+ }
+ function parseCodespaceRange(e, t) {
+ for (;;) {
+ let a = t.getObj();
+ if (a === n.EOF) break;
+ if ((0, n.isCmd)(a, 'endcodespacerange')) return;
+ if ('string' != typeof a) break;
+ const r = strToInt(a);
+ a = t.getObj();
+ if ('string' != typeof a) break;
+ const i = strToInt(a);
+ e.addCodespaceRange(a.length, r, i);
+ }
+ throw new r.FormatError('Invalid codespace range.');
+ }
+ function parseWMode(e, t) {
+ const a = t.getObj();
+ Number.isInteger(a) && (e.vertical = !!a);
+ }
+ function parseCMapName(e, t) {
+ const a = t.getObj();
+ a instanceof n.Name && (e.name = a.name);
+ }
+ async function parseCMap(e, t, a, i) {
+ let s, c;
+ e: for (;;)
+ try {
+ const a = t.getObj();
+ if (a === n.EOF) break;
+ if (a instanceof n.Name) {
+ 'WMode' === a.name ? parseWMode(e, t) : 'CMapName' === a.name && parseCMapName(e, t);
+ s = a;
+ } else if (a instanceof n.Cmd)
+ switch (a.cmd) {
+ case 'endcmap':
+ break e;
+ case 'usecmap':
+ s instanceof n.Name && (c = s.name);
+ break;
+ case 'begincodespacerange':
+ parseCodespaceRange(e, t);
+ break;
+ case 'beginbfchar':
+ parseBfChar(e, t);
+ break;
+ case 'begincidchar':
+ parseCidChar(e, t);
+ break;
+ case 'beginbfrange':
+ parseBfRange(e, t);
+ break;
+ case 'begincidrange':
+ parseCidRange(e, t);
+ }
+ } catch (e) {
+ if (e instanceof o.MissingDataException) throw e;
+ (0, r.warn)('Invalid cMap data: ' + e);
+ continue;
+ }
+ !i && c && (i = c);
+ return i ? extendCMap(e, a, i) : e;
+ }
+ async function extendCMap(e, t, a) {
+ e.useCMap = await createBuiltInCMap(a, t);
+ if (0 === e.numCodespaceRanges) {
+ const t = e.useCMap.codespaceRanges;
+ for (let a = 0; a < t.length; a++) e.codespaceRanges[a] = t[a].slice();
+ e.numCodespaceRanges = e.useCMap.numCodespaceRanges;
+ }
+ e.useCMap.forEach(function (t, a) {
+ e.contains(t) || e.mapOne(t, e.useCMap.lookup(t));
+ });
+ return e;
+ }
+ async function createBuiltInCMap(e, t) {
+ if ('Identity-H' === e) return new IdentityCMap(!1, 2);
+ if ('Identity-V' === e) return new IdentityCMap(!0, 2);
+ if (!l.includes(e)) throw new Error('Unknown CMap name: ' + e);
+ if (!t) throw new Error('Built-in CMap parameters are not provided.');
+ const {cMapData: a, compressionType: n} = await t(e),
+ i = new CMap(!0);
+ if (n === r.CMapCompressionType.BINARY) return new u().process(a, i, (e) => extendCMap(i, t, e));
+ if (n === r.CMapCompressionType.NONE) {
+ const e = new s.Lexer(new c.Stream(a));
+ return parseCMap(i, e, t, null);
+ }
+ throw new Error('TODO: Only BINARY/NONE CMap compression is currently supported.');
+ }
+ return {
+ async create(e) {
+ const t = e.encoding,
+ a = e.fetchBuiltInCMap,
+ r = e.useCMap;
+ if (t instanceof n.Name) return createBuiltInCMap(t.name, a);
+ if (t instanceof i.BaseStream) {
+ const e = await parseCMap(new CMap(), new s.Lexer(t), a, r);
+ return e.isIdentityCMap ? createBuiltInCMap(e.name, a) : e;
+ }
+ throw new Error('Encoding required.');
+ },
+ };
+ })();
+ t.CMapFactory = d;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Parser = t.Linearization = t.Lexer = void 0;
+ var r = a(2),
+ n = a(5),
+ i = a(6),
+ s = a(18),
+ o = a(20),
+ c = a(21),
+ l = a(23),
+ h = a(24),
+ u = a(27),
+ d = a(29),
+ f = a(31),
+ g = a(10),
+ p = a(32),
+ m = a(33);
+ function computeAdler32(e) {
+ const t = e.length;
+ let a = 1,
+ r = 0;
+ for (let n = 0; n < t; ++n) {
+ a += 255 & e[n];
+ r += a;
+ }
+ return (r % 65521 << 16) | a % 65521;
+ }
+ class Parser {
+ constructor({lexer: e, xref: t, allowStreams: a = !1, recoveryMode: r = !1}) {
+ this.lexer = e;
+ this.xref = t;
+ this.allowStreams = a;
+ this.recoveryMode = r;
+ this.imageCache = Object.create(null);
+ this.refill();
+ }
+ refill() {
+ this.buf1 = this.lexer.getObj();
+ this.buf2 = this.lexer.getObj();
+ }
+ shift() {
+ if (this.buf2 instanceof n.Cmd && 'ID' === this.buf2.cmd) {
+ this.buf1 = this.buf2;
+ this.buf2 = null;
+ } else {
+ this.buf1 = this.buf2;
+ this.buf2 = this.lexer.getObj();
+ }
+ }
+ tryShift() {
+ try {
+ this.shift();
+ return !0;
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ return !1;
+ }
+ }
+ getObj(e = null) {
+ const t = this.buf1;
+ this.shift();
+ if (t instanceof n.Cmd)
+ switch (t.cmd) {
+ case 'BI':
+ return this.makeInlineImage(e);
+ case '[':
+ const a = [];
+ for (; !(0, n.isCmd)(this.buf1, ']') && this.buf1 !== n.EOF; ) a.push(this.getObj(e));
+ if (this.buf1 === n.EOF) {
+ if (this.recoveryMode) return a;
+ throw new i.ParserEOFException('End of file inside array.');
+ }
+ this.shift();
+ return a;
+ case '<<':
+ const s = new n.Dict(this.xref);
+ for (; !(0, n.isCmd)(this.buf1, '>>') && this.buf1 !== n.EOF; ) {
+ if (!(this.buf1 instanceof n.Name)) {
+ (0, r.info)('Malformed dictionary: key must be a name object');
+ this.shift();
+ continue;
+ }
+ const t = this.buf1.name;
+ this.shift();
+ if (this.buf1 === n.EOF) break;
+ s.set(t, this.getObj(e));
+ }
+ if (this.buf1 === n.EOF) {
+ if (this.recoveryMode) return s;
+ throw new i.ParserEOFException('End of file inside dictionary.');
+ }
+ if ((0, n.isCmd)(this.buf2, 'stream')) return this.allowStreams ? this.makeStream(s, e) : s;
+ this.shift();
+ return s;
+ default:
+ return t;
+ }
+ if (Number.isInteger(t)) {
+ if (Number.isInteger(this.buf1) && (0, n.isCmd)(this.buf2, 'R')) {
+ const e = n.Ref.get(t, this.buf1);
+ this.shift();
+ this.shift();
+ return e;
+ }
+ return t;
+ }
+ return 'string' == typeof t && e ? e.decryptString(t) : t;
+ }
+ findDefaultInlineStreamEnd(e) {
+ const t = this.lexer,
+ a = e.pos;
+ let s,
+ o,
+ c = 0;
+ for (; -1 !== (s = e.getByte()); )
+ if (0 === c) c = 69 === s ? 1 : 0;
+ else if (1 === c) c = 73 === s ? 2 : 0;
+ else {
+ (0, r.assert)(2 === c, 'findDefaultInlineStreamEnd - invalid state.');
+ if (32 === s || 10 === s || 13 === s) {
+ o = e.pos;
+ const a = e.peekBytes(10);
+ for (let e = 0, t = a.length; e < t; e++) {
+ s = a[e];
+ if ((0 !== s || 0 === a[e + 1]) && 10 !== s && 13 !== s && (s < 32 || s > 127)) {
+ c = 0;
+ break;
+ }
+ }
+ if (2 !== c) continue;
+ if (t.knownCommands) {
+ const e = t.peekObj();
+ e instanceof n.Cmd && !t.knownCommands[e.cmd] && (c = 0);
+ } else (0, r.warn)('findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.');
+ if (2 === c) break;
+ } else c = 0;
+ }
+ if (-1 === s) {
+ (0, r.warn)(
+ 'findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker'
+ );
+ if (o) {
+ (0, r.warn)('... trying to recover by using the last "EI" occurrence.');
+ e.skip(-(e.pos - o));
+ }
+ }
+ let l = 4;
+ e.skip(-l);
+ s = e.peekByte();
+ e.skip(l);
+ (0, i.isWhiteSpace)(s) || l--;
+ return e.pos - l - a;
+ }
+ findDCTDecodeInlineStreamEnd(e) {
+ const t = e.pos;
+ let a,
+ n,
+ i = !1;
+ for (; -1 !== (a = e.getByte()); )
+ if (255 === a) {
+ switch (e.getByte()) {
+ case 0:
+ break;
+ case 255:
+ e.skip(-1);
+ break;
+ case 217:
+ i = !0;
+ break;
+ case 192:
+ case 193:
+ case 194:
+ case 195:
+ case 197:
+ case 198:
+ case 199:
+ case 201:
+ case 202:
+ case 203:
+ case 205:
+ case 206:
+ case 207:
+ case 196:
+ case 204:
+ case 218:
+ case 219:
+ case 220:
+ case 221:
+ case 222:
+ case 223:
+ case 224:
+ case 225:
+ case 226:
+ case 227:
+ case 228:
+ case 229:
+ case 230:
+ case 231:
+ case 232:
+ case 233:
+ case 234:
+ case 235:
+ case 236:
+ case 237:
+ case 238:
+ case 239:
+ case 254:
+ n = e.getUint16();
+ n > 2 ? e.skip(n - 2) : e.skip(-2);
+ }
+ if (i) break;
+ }
+ const s = e.pos - t;
+ if (-1 === a) {
+ (0, r.warn)('Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.');
+ e.skip(-s);
+ return this.findDefaultInlineStreamEnd(e);
+ }
+ this.inlineStreamSkipEI(e);
+ return s;
+ }
+ findASCII85DecodeInlineStreamEnd(e) {
+ const t = e.pos;
+ let a;
+ for (; -1 !== (a = e.getByte()); )
+ if (126 === a) {
+ const t = e.pos;
+ a = e.peekByte();
+ for (; (0, i.isWhiteSpace)(a); ) {
+ e.skip();
+ a = e.peekByte();
+ }
+ if (62 === a) {
+ e.skip();
+ break;
+ }
+ if (e.pos > t) {
+ const t = e.peekBytes(2);
+ if (69 === t[0] && 73 === t[1]) break;
+ }
+ }
+ const n = e.pos - t;
+ if (-1 === a) {
+ (0, r.warn)('Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.');
+ e.skip(-n);
+ return this.findDefaultInlineStreamEnd(e);
+ }
+ this.inlineStreamSkipEI(e);
+ return n;
+ }
+ findASCIIHexDecodeInlineStreamEnd(e) {
+ const t = e.pos;
+ let a;
+ for (; -1 !== (a = e.getByte()) && 62 !== a; );
+ const n = e.pos - t;
+ if (-1 === a) {
+ (0, r.warn)('Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.');
+ e.skip(-n);
+ return this.findDefaultInlineStreamEnd(e);
+ }
+ this.inlineStreamSkipEI(e);
+ return n;
+ }
+ inlineStreamSkipEI(e) {
+ let t,
+ a = 0;
+ for (; -1 !== (t = e.getByte()); )
+ if (0 === a) a = 69 === t ? 1 : 0;
+ else if (1 === a) a = 73 === t ? 2 : 0;
+ else if (2 === a) break;
+ }
+ makeInlineImage(e) {
+ const t = this.lexer,
+ a = t.stream,
+ i = new n.Dict(this.xref);
+ let s;
+ for (; !(0, n.isCmd)(this.buf1, 'ID') && this.buf1 !== n.EOF; ) {
+ if (!(this.buf1 instanceof n.Name)) throw new r.FormatError('Dictionary key must be a name object');
+ const t = this.buf1.name;
+ this.shift();
+ if (this.buf1 === n.EOF) break;
+ i.set(t, this.getObj(e));
+ }
+ -1 !== t.beginInlineImagePos && (s = a.pos - t.beginInlineImagePos);
+ const o = i.get('F', 'Filter');
+ let c;
+ if (o instanceof n.Name) c = o.name;
+ else if (Array.isArray(o)) {
+ const e = this.xref.fetchIfRef(o[0]);
+ e instanceof n.Name && (c = e.name);
+ }
+ const l = a.pos;
+ let h;
+ switch (c) {
+ case 'DCT':
+ case 'DCTDecode':
+ h = this.findDCTDecodeInlineStreamEnd(a);
+ break;
+ case 'A85':
+ case 'ASCII85Decode':
+ h = this.findASCII85DecodeInlineStreamEnd(a);
+ break;
+ case 'AHx':
+ case 'ASCIIHexDecode':
+ h = this.findASCIIHexDecodeInlineStreamEnd(a);
+ break;
+ default:
+ h = this.findDefaultInlineStreamEnd(a);
+ }
+ let u,
+ d = a.makeSubStream(l, h, i);
+ if (h < 1e3 && s < 5552) {
+ const e = d.getBytes();
+ d.reset();
+ const r = a.pos;
+ a.pos = t.beginInlineImagePos;
+ const i = a.getBytes(s);
+ a.pos = r;
+ u = computeAdler32(e) + '_' + computeAdler32(i);
+ const o = this.imageCache[u];
+ if (void 0 !== o) {
+ this.buf2 = n.Cmd.get('EI');
+ this.shift();
+ o.reset();
+ return o;
+ }
+ }
+ e && (d = e.createStream(d, h));
+ d = this.filter(d, i, h);
+ d.dict = i;
+ if (void 0 !== u) {
+ d.cacheKey = `inline_${h}_${u}`;
+ this.imageCache[u] = d;
+ }
+ this.buf2 = n.Cmd.get('EI');
+ this.shift();
+ return d;
+ }
+ _findStreamLength(e, t) {
+ const {stream: a} = this.lexer;
+ a.pos = e;
+ const r = t.length;
+ for (; a.pos < a.end; ) {
+ const n = a.peekBytes(2048),
+ i = n.length - r;
+ if (i <= 0) break;
+ let s = 0;
+ for (; s < i; ) {
+ let i = 0;
+ for (; i < r && n[s + i] === t[i]; ) i++;
+ if (i >= r) {
+ a.pos += s;
+ return a.pos - e;
+ }
+ s++;
+ }
+ a.pos += i;
+ }
+ return -1;
+ }
+ makeStream(e, t) {
+ const a = this.lexer;
+ let s = a.stream;
+ a.skipToNextLine();
+ const o = s.pos - 1;
+ let c = e.get('Length');
+ if (!Number.isInteger(c)) {
+ (0, r.info)(`Bad length "${c && c.toString()}" in stream.`);
+ c = 0;
+ }
+ s.pos = o + c;
+ a.nextChar();
+ if (this.tryShift() && (0, n.isCmd)(this.buf2, 'endstream')) this.shift();
+ else {
+ const e = new Uint8Array([101, 110, 100, 115, 116, 114, 101, 97, 109]);
+ let t = this._findStreamLength(o, e);
+ if (t < 0) {
+ const a = 1;
+ for (let n = 1; n <= a; n++) {
+ const a = e.length - n,
+ c = e.slice(0, a),
+ l = this._findStreamLength(o, c);
+ if (l >= 0) {
+ const e = s.peekBytes(a + 1)[a];
+ if (!(0, i.isWhiteSpace)(e)) break;
+ (0, r.info)(`Found "${(0, r.bytesToString)(c)}" when searching for endstream command.`);
+ t = l;
+ break;
+ }
+ }
+ if (t < 0) throw new r.FormatError('Missing endstream command.');
+ }
+ c = t;
+ a.nextChar();
+ this.shift();
+ this.shift();
+ }
+ this.shift();
+ s = s.makeSubStream(o, c, e);
+ t && (s = t.createStream(s, c));
+ s = this.filter(s, e, c);
+ s.dict = e;
+ return s;
+ }
+ filter(e, t, a) {
+ let i = t.get('F', 'Filter'),
+ s = t.get('DP', 'DecodeParms');
+ if (i instanceof n.Name) {
+ Array.isArray(s) && (0, r.warn)('/DecodeParms should not be an Array, when /Filter is a Name.');
+ return this.makeFilter(e, i.name, a, s);
+ }
+ let o = a;
+ if (Array.isArray(i)) {
+ const t = i,
+ a = s;
+ for (let c = 0, l = t.length; c < l; ++c) {
+ i = this.xref.fetchIfRef(t[c]);
+ if (!(i instanceof n.Name)) throw new r.FormatError(`Bad filter name "${i}"`);
+ s = null;
+ Array.isArray(a) && c in a && (s = this.xref.fetchIfRef(a[c]));
+ e = this.makeFilter(e, i.name, o, s);
+ o = null;
+ }
+ }
+ return e;
+ }
+ makeFilter(e, t, a, n) {
+ if (0 === a) {
+ (0, r.warn)(`Empty "${t}" stream.`);
+ return new g.NullStream();
+ }
+ const b = this.xref.stats;
+ try {
+ switch (t) {
+ case 'Fl':
+ case 'FlateDecode':
+ b.addStreamType(r.StreamType.FLATE);
+ return n ? new p.PredictorStream(new l.FlateStream(e, a), a, n) : new l.FlateStream(e, a);
+ case 'LZW':
+ case 'LZWDecode':
+ b.addStreamType(r.StreamType.LZW);
+ let t = 1;
+ if (n) {
+ n.has('EarlyChange') && (t = n.get('EarlyChange'));
+ return new p.PredictorStream(new f.LZWStream(e, a, t), a, n);
+ }
+ return new f.LZWStream(e, a, t);
+ case 'DCT':
+ case 'DCTDecode':
+ b.addStreamType(r.StreamType.DCT);
+ return new u.JpegStream(e, a, n);
+ case 'JPX':
+ case 'JPXDecode':
+ b.addStreamType(r.StreamType.JPX);
+ return new d.JpxStream(e, a, n);
+ case 'A85':
+ case 'ASCII85Decode':
+ b.addStreamType(r.StreamType.A85);
+ return new s.Ascii85Stream(e, a);
+ case 'AHx':
+ case 'ASCIIHexDecode':
+ b.addStreamType(r.StreamType.AHX);
+ return new o.AsciiHexStream(e, a);
+ case 'CCF':
+ case 'CCITTFaxDecode':
+ b.addStreamType(r.StreamType.CCF);
+ return new c.CCITTFaxStream(e, a, n);
+ case 'RL':
+ case 'RunLengthDecode':
+ b.addStreamType(r.StreamType.RLX);
+ return new m.RunLengthStream(e, a);
+ case 'JBIG2Decode':
+ b.addStreamType(r.StreamType.JBIG);
+ return new h.Jbig2Stream(e, a, n);
+ }
+ (0, r.warn)(`Filter "${t}" is not supported.`);
+ return e;
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, r.warn)(`Invalid stream: "${e}"`);
+ return new g.NullStream();
+ }
+ }
+ }
+ t.Parser = Parser;
+ const b = [
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ ];
+ function toHexDigit(e) {
+ return e >= 48 && e <= 57 ? 15 & e : (e >= 65 && e <= 70) || (e >= 97 && e <= 102) ? 9 + (15 & e) : -1;
+ }
+ class Lexer {
+ constructor(e, t = null) {
+ this.stream = e;
+ this.nextChar();
+ this.strBuf = [];
+ this.knownCommands = t;
+ this._hexStringNumWarn = 0;
+ this.beginInlineImagePos = -1;
+ }
+ nextChar() {
+ return (this.currentChar = this.stream.getByte());
+ }
+ peekChar() {
+ return this.stream.peekByte();
+ }
+ getNumber() {
+ let e = this.currentChar,
+ t = !1,
+ a = 0,
+ n = 0;
+ if (45 === e) {
+ n = -1;
+ e = this.nextChar();
+ 45 === e && (e = this.nextChar());
+ } else if (43 === e) {
+ n = 1;
+ e = this.nextChar();
+ }
+ if (10 === e || 13 === e)
+ do {
+ e = this.nextChar();
+ } while (10 === e || 13 === e);
+ if (46 === e) {
+ a = 10;
+ e = this.nextChar();
+ }
+ if (e < 48 || e > 57) {
+ if ((0, i.isWhiteSpace)(e) || -1 === e) {
+ if (10 === a && 0 === n) {
+ (0, r.warn)('Lexer.getNumber - treating a single decimal point as zero.');
+ return 0;
+ }
+ if (0 === a && -1 === n) {
+ (0, r.warn)('Lexer.getNumber - treating a single minus sign as zero.');
+ return 0;
+ }
+ }
+ throw new r.FormatError(`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`);
+ }
+ n = n || 1;
+ let s = e - 48,
+ o = 0,
+ c = 1;
+ for (; (e = this.nextChar()) >= 0; )
+ if (e >= 48 && e <= 57) {
+ const r = e - 48;
+ if (t) o = 10 * o + r;
+ else {
+ 0 !== a && (a *= 10);
+ s = 10 * s + r;
+ }
+ } else if (46 === e) {
+ if (0 !== a) break;
+ a = 1;
+ } else if (45 === e) (0, r.warn)('Badly formatted number: minus sign in the middle');
+ else {
+ if (69 !== e && 101 !== e) break;
+ e = this.peekChar();
+ if (43 === e || 45 === e) {
+ c = 45 === e ? -1 : 1;
+ this.nextChar();
+ } else if (e < 48 || e > 57) break;
+ t = !0;
+ }
+ 0 !== a && (s /= a);
+ t && (s *= 10 ** (c * o));
+ return n * s;
+ }
+ getString() {
+ let e = 1,
+ t = !1;
+ const a = this.strBuf;
+ a.length = 0;
+ let n = this.nextChar();
+ for (;;) {
+ let i = !1;
+ switch (0 | n) {
+ case -1:
+ (0, r.warn)('Unterminated string');
+ t = !0;
+ break;
+ case 40:
+ ++e;
+ a.push('(');
+ break;
+ case 41:
+ if (0 == --e) {
+ this.nextChar();
+ t = !0;
+ } else a.push(')');
+ break;
+ case 92:
+ n = this.nextChar();
+ switch (n) {
+ case -1:
+ (0, r.warn)('Unterminated string');
+ t = !0;
+ break;
+ case 110:
+ a.push('\n');
+ break;
+ case 114:
+ a.push('\r');
+ break;
+ case 116:
+ a.push('\t');
+ break;
+ case 98:
+ a.push('\b');
+ break;
+ case 102:
+ a.push('\f');
+ break;
+ case 92:
+ case 40:
+ case 41:
+ a.push(String.fromCharCode(n));
+ break;
+ case 48:
+ case 49:
+ case 50:
+ case 51:
+ case 52:
+ case 53:
+ case 54:
+ case 55:
+ let e = 15 & n;
+ n = this.nextChar();
+ i = !0;
+ if (n >= 48 && n <= 55) {
+ e = (e << 3) + (15 & n);
+ n = this.nextChar();
+ if (n >= 48 && n <= 55) {
+ i = !1;
+ e = (e << 3) + (15 & n);
+ }
+ }
+ a.push(String.fromCharCode(e));
+ break;
+ case 13:
+ 10 === this.peekChar() && this.nextChar();
+ break;
+ case 10:
+ break;
+ default:
+ a.push(String.fromCharCode(n));
+ }
+ break;
+ default:
+ a.push(String.fromCharCode(n));
+ }
+ if (t) break;
+ i || (n = this.nextChar());
+ }
+ return a.join('');
+ }
+ getName() {
+ let e, t;
+ const a = this.strBuf;
+ a.length = 0;
+ for (; (e = this.nextChar()) >= 0 && !b[e]; )
+ if (35 === e) {
+ e = this.nextChar();
+ if (b[e]) {
+ (0, r.warn)('Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.');
+ a.push('#');
+ break;
+ }
+ const n = toHexDigit(e);
+ if (-1 !== n) {
+ t = e;
+ e = this.nextChar();
+ const i = toHexDigit(e);
+ if (-1 === i) {
+ (0, r.warn)(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);
+ a.push('#', String.fromCharCode(t));
+ if (b[e]) break;
+ a.push(String.fromCharCode(e));
+ continue;
+ }
+ a.push(String.fromCharCode((n << 4) | i));
+ } else a.push('#', String.fromCharCode(e));
+ } else a.push(String.fromCharCode(e));
+ a.length > 127 && (0, r.warn)(`Name token is longer than allowed by the spec: ${a.length}`);
+ return n.Name.get(a.join(''));
+ }
+ _hexStringWarn(e) {
+ 5 != this._hexStringNumWarn++
+ ? this._hexStringNumWarn > 5 || (0, r.warn)(`getHexString - ignoring invalid character: ${e}`)
+ : (0, r.warn)('getHexString - ignoring additional invalid characters.');
+ }
+ getHexString() {
+ const e = this.strBuf;
+ e.length = 0;
+ let t,
+ a,
+ n = this.currentChar,
+ i = !0;
+ this._hexStringNumWarn = 0;
+ for (;;) {
+ if (n < 0) {
+ (0, r.warn)('Unterminated hex string');
+ break;
+ }
+ if (62 === n) {
+ this.nextChar();
+ break;
+ }
+ if (1 !== b[n]) {
+ if (i) {
+ t = toHexDigit(n);
+ if (-1 === t) {
+ this._hexStringWarn(n);
+ n = this.nextChar();
+ continue;
+ }
+ } else {
+ a = toHexDigit(n);
+ if (-1 === a) {
+ this._hexStringWarn(n);
+ n = this.nextChar();
+ continue;
+ }
+ e.push(String.fromCharCode((t << 4) | a));
+ }
+ i = !i;
+ n = this.nextChar();
+ } else n = this.nextChar();
+ }
+ return e.join('');
+ }
+ getObj() {
+ let e = !1,
+ t = this.currentChar;
+ for (;;) {
+ if (t < 0) return n.EOF;
+ if (e) (10 !== t && 13 !== t) || (e = !1);
+ else if (37 === t) e = !0;
+ else if (1 !== b[t]) break;
+ t = this.nextChar();
+ }
+ switch (0 | t) {
+ case 48:
+ case 49:
+ case 50:
+ case 51:
+ case 52:
+ case 53:
+ case 54:
+ case 55:
+ case 56:
+ case 57:
+ case 43:
+ case 45:
+ case 46:
+ return this.getNumber();
+ case 40:
+ return this.getString();
+ case 47:
+ return this.getName();
+ case 91:
+ this.nextChar();
+ return n.Cmd.get('[');
+ case 93:
+ this.nextChar();
+ return n.Cmd.get(']');
+ case 60:
+ t = this.nextChar();
+ if (60 === t) {
+ this.nextChar();
+ return n.Cmd.get('<<');
+ }
+ return this.getHexString();
+ case 62:
+ t = this.nextChar();
+ if (62 === t) {
+ this.nextChar();
+ return n.Cmd.get('>>');
+ }
+ return n.Cmd.get('>');
+ case 123:
+ this.nextChar();
+ return n.Cmd.get('{');
+ case 125:
+ this.nextChar();
+ return n.Cmd.get('}');
+ case 41:
+ this.nextChar();
+ throw new r.FormatError(`Illegal character: ${t}`);
+ }
+ let a = String.fromCharCode(t);
+ if (t < 32 || t > 127) {
+ const e = this.peekChar();
+ if (e >= 32 && e <= 127) {
+ this.nextChar();
+ return n.Cmd.get(a);
+ }
+ }
+ const i = this.knownCommands;
+ let s = i && void 0 !== i[a];
+ for (; (t = this.nextChar()) >= 0 && !b[t]; ) {
+ const e = a + String.fromCharCode(t);
+ if (s && void 0 === i[e]) break;
+ if (128 === a.length) throw new r.FormatError(`Command token too long: ${a.length}`);
+ a = e;
+ s = i && void 0 !== i[a];
+ }
+ if ('true' === a) return !0;
+ if ('false' === a) return !1;
+ if ('null' === a) return null;
+ 'BI' === a && (this.beginInlineImagePos = this.stream.pos);
+ return n.Cmd.get(a);
+ }
+ peekObj() {
+ const e = this.stream.pos,
+ t = this.currentChar,
+ a = this.beginInlineImagePos;
+ let n;
+ try {
+ n = this.getObj();
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, r.warn)(`peekObj: ${e}`);
+ }
+ this.stream.pos = e;
+ this.currentChar = t;
+ this.beginInlineImagePos = a;
+ return n;
+ }
+ skipToNextLine() {
+ let e = this.currentChar;
+ for (; e >= 0; ) {
+ if (13 === e) {
+ e = this.nextChar();
+ 10 === e && this.nextChar();
+ break;
+ }
+ if (10 === e) {
+ this.nextChar();
+ break;
+ }
+ e = this.nextChar();
+ }
+ }
+ }
+ t.Lexer = Lexer;
+ t.Linearization = class Linearization {
+ static create(e) {
+ function getInt(e, t, a = !1) {
+ const r = e.get(t);
+ if (Number.isInteger(r) && (a ? r >= 0 : r > 0)) return r;
+ throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`);
+ }
+ const t = new Parser({lexer: new Lexer(e), xref: null}),
+ a = t.getObj(),
+ r = t.getObj(),
+ i = t.getObj(),
+ s = t.getObj();
+ let o, c;
+ if (
+ !(
+ Number.isInteger(a) &&
+ Number.isInteger(r) &&
+ (0, n.isCmd)(i, 'obj') &&
+ s instanceof n.Dict &&
+ 'number' == typeof (o = s.get('Linearized')) &&
+ o > 0
+ )
+ )
+ return null;
+ if ((c = getInt(s, 'L')) !== e.length)
+ throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');
+ return {
+ length: c,
+ hints: (function getHints(e) {
+ const t = e.get('H');
+ let a;
+ if (Array.isArray(t) && (2 === (a = t.length) || 4 === a)) {
+ for (let e = 0; e < a; e++) {
+ const a = t[e];
+ if (!(Number.isInteger(a) && a > 0))
+ throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`);
+ }
+ return t;
+ }
+ throw new Error('Hint array in the linearization dictionary is invalid.');
+ })(s),
+ objectNumberFirst: getInt(s, 'O'),
+ endFirst: getInt(s, 'E'),
+ numPages: getInt(s, 'N'),
+ mainXRefEntriesOffset: getInt(s, 'T'),
+ pageFirst: s.has('P') ? getInt(s, 'P', !0) : 0,
+ };
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Ascii85Stream = void 0;
+ var r = a(19),
+ n = a(6);
+ class Ascii85Stream extends r.DecodeStream {
+ constructor(e, t) {
+ t && (t *= 0.8);
+ super(t);
+ this.str = e;
+ this.dict = e.dict;
+ this.input = new Uint8Array(5);
+ }
+ readBlock() {
+ const e = this.str;
+ let t = e.getByte();
+ for (; (0, n.isWhiteSpace)(t); ) t = e.getByte();
+ if (-1 === t || 126 === t) {
+ this.eof = !0;
+ return;
+ }
+ const a = this.bufferLength;
+ let r, i;
+ if (122 === t) {
+ r = this.ensureBuffer(a + 4);
+ for (i = 0; i < 4; ++i) r[a + i] = 0;
+ this.bufferLength += 4;
+ } else {
+ const s = this.input;
+ s[0] = t;
+ for (i = 1; i < 5; ++i) {
+ t = e.getByte();
+ for (; (0, n.isWhiteSpace)(t); ) t = e.getByte();
+ s[i] = t;
+ if (-1 === t || 126 === t) break;
+ }
+ r = this.ensureBuffer(a + i - 1);
+ this.bufferLength += i - 1;
+ if (i < 5) {
+ for (; i < 5; ++i) s[i] = 117;
+ this.eof = !0;
+ }
+ let o = 0;
+ for (i = 0; i < 5; ++i) o = 85 * o + (s[i] - 33);
+ for (i = 3; i >= 0; --i) {
+ r[a + i] = 255 & o;
+ o >>= 8;
+ }
+ }
+ }
+ }
+ t.Ascii85Stream = Ascii85Stream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.StreamsSequenceStream = t.DecodeStream = void 0;
+ var r = a(7),
+ n = a(10);
+ const i = new Uint8Array(0);
+ class DecodeStream extends r.BaseStream {
+ constructor(e) {
+ super();
+ this._rawMinBufferLength = e || 0;
+ this.pos = 0;
+ this.bufferLength = 0;
+ this.eof = !1;
+ this.buffer = i;
+ this.minBufferLength = 512;
+ if (e) for (; this.minBufferLength < e; ) this.minBufferLength *= 2;
+ }
+ get isEmpty() {
+ for (; !this.eof && 0 === this.bufferLength; ) this.readBlock();
+ return 0 === this.bufferLength;
+ }
+ ensureBuffer(e) {
+ const t = this.buffer;
+ if (e <= t.byteLength) return t;
+ let a = this.minBufferLength;
+ for (; a < e; ) a *= 2;
+ const r = new Uint8Array(a);
+ r.set(t);
+ return (this.buffer = r);
+ }
+ getByte() {
+ const e = this.pos;
+ for (; this.bufferLength <= e; ) {
+ if (this.eof) return -1;
+ this.readBlock();
+ }
+ return this.buffer[this.pos++];
+ }
+ getBytes(e) {
+ const t = this.pos;
+ let a;
+ if (e) {
+ this.ensureBuffer(t + e);
+ a = t + e;
+ for (; !this.eof && this.bufferLength < a; ) this.readBlock();
+ const r = this.bufferLength;
+ a > r && (a = r);
+ } else {
+ for (; !this.eof; ) this.readBlock();
+ a = this.bufferLength;
+ }
+ this.pos = a;
+ return this.buffer.subarray(t, a);
+ }
+ reset() {
+ this.pos = 0;
+ }
+ makeSubStream(e, t, a = null) {
+ if (void 0 === t) for (; !this.eof; ) this.readBlock();
+ else {
+ const a = e + t;
+ for (; this.bufferLength <= a && !this.eof; ) this.readBlock();
+ }
+ return new n.Stream(this.buffer, e, t, a);
+ }
+ getBaseStreams() {
+ return this.str ? this.str.getBaseStreams() : null;
+ }
+ }
+ t.DecodeStream = DecodeStream;
+ t.StreamsSequenceStream = class StreamsSequenceStream extends DecodeStream {
+ constructor(e, t = null) {
+ let a = 0;
+ for (const t of e) a += t instanceof DecodeStream ? t._rawMinBufferLength : t.length;
+ super(a);
+ this.streams = e;
+ this._onError = t;
+ }
+ readBlock() {
+ const e = this.streams;
+ if (0 === e.length) {
+ this.eof = !0;
+ return;
+ }
+ const t = e.shift();
+ let a;
+ try {
+ a = t.getBytes();
+ } catch (e) {
+ if (this._onError) {
+ this._onError(e, t.dict && t.dict.objId);
+ return;
+ }
+ throw e;
+ }
+ const r = this.bufferLength,
+ n = r + a.length;
+ this.ensureBuffer(n).set(a, r);
+ this.bufferLength = n;
+ }
+ getBaseStreams() {
+ const e = [];
+ for (const t of this.streams) {
+ const a = t.getBaseStreams();
+ a && e.push(...a);
+ }
+ return e.length > 0 ? e : null;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.AsciiHexStream = void 0;
+ var r = a(19);
+ class AsciiHexStream extends r.DecodeStream {
+ constructor(e, t) {
+ t && (t *= 0.5);
+ super(t);
+ this.str = e;
+ this.dict = e.dict;
+ this.firstDigit = -1;
+ }
+ readBlock() {
+ const e = this.str.getBytes(8e3);
+ if (!e.length) {
+ this.eof = !0;
+ return;
+ }
+ const t = (e.length + 1) >> 1,
+ a = this.ensureBuffer(this.bufferLength + t);
+ let r = this.bufferLength,
+ n = this.firstDigit;
+ for (const t of e) {
+ let e;
+ if (t >= 48 && t <= 57) e = 15 & t;
+ else {
+ if (!((t >= 65 && t <= 70) || (t >= 97 && t <= 102))) {
+ if (62 === t) {
+ this.eof = !0;
+ break;
+ }
+ continue;
+ }
+ e = 9 + (15 & t);
+ }
+ if (n < 0) n = e;
+ else {
+ a[r++] = (n << 4) | e;
+ n = -1;
+ }
+ }
+ if (n >= 0 && this.eof) {
+ a[r++] = n << 4;
+ n = -1;
+ }
+ this.firstDigit = n;
+ this.bufferLength = r;
+ }
+ }
+ t.AsciiHexStream = AsciiHexStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.CCITTFaxStream = void 0;
+ var r = a(22),
+ n = a(19),
+ i = a(5);
+ class CCITTFaxStream extends n.DecodeStream {
+ constructor(e, t, a) {
+ super(t);
+ this.str = e;
+ this.dict = e.dict;
+ a instanceof i.Dict || (a = i.Dict.empty);
+ const n = {next: () => e.getByte()};
+ this.ccittFaxDecoder = new r.CCITTFaxDecoder(n, {
+ K: a.get('K'),
+ EndOfLine: a.get('EndOfLine'),
+ EncodedByteAlign: a.get('EncodedByteAlign'),
+ Columns: a.get('Columns'),
+ Rows: a.get('Rows'),
+ EndOfBlock: a.get('EndOfBlock'),
+ BlackIs1: a.get('BlackIs1'),
+ });
+ }
+ readBlock() {
+ for (; !this.eof; ) {
+ const e = this.ccittFaxDecoder.readNextChar();
+ if (-1 === e) {
+ this.eof = !0;
+ return;
+ }
+ this.ensureBuffer(this.bufferLength + 1);
+ this.buffer[this.bufferLength++] = e;
+ }
+ }
+ }
+ t.CCITTFaxStream = CCITTFaxStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.CCITTFaxDecoder = void 0;
+ var r = a(2);
+ const n = -1,
+ i = [
+ [-1, -1],
+ [-1, -1],
+ [7, 8],
+ [7, 7],
+ [6, 6],
+ [6, 6],
+ [6, 5],
+ [6, 5],
+ [4, 0],
+ [4, 0],
+ [4, 0],
+ [4, 0],
+ [4, 0],
+ [4, 0],
+ [4, 0],
+ [4, 0],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [3, 3],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ [1, 2],
+ ],
+ s = [
+ [-1, -1],
+ [12, -2],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [11, 1792],
+ [11, 1792],
+ [12, 1984],
+ [12, 2048],
+ [12, 2112],
+ [12, 2176],
+ [12, 2240],
+ [12, 2304],
+ [11, 1856],
+ [11, 1856],
+ [11, 1920],
+ [11, 1920],
+ [12, 2368],
+ [12, 2432],
+ [12, 2496],
+ [12, 2560],
+ ],
+ o = [
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [8, 29],
+ [8, 29],
+ [8, 30],
+ [8, 30],
+ [8, 45],
+ [8, 45],
+ [8, 46],
+ [8, 46],
+ [7, 22],
+ [7, 22],
+ [7, 22],
+ [7, 22],
+ [7, 23],
+ [7, 23],
+ [7, 23],
+ [7, 23],
+ [8, 47],
+ [8, 47],
+ [8, 48],
+ [8, 48],
+ [6, 13],
+ [6, 13],
+ [6, 13],
+ [6, 13],
+ [6, 13],
+ [6, 13],
+ [6, 13],
+ [6, 13],
+ [7, 20],
+ [7, 20],
+ [7, 20],
+ [7, 20],
+ [8, 33],
+ [8, 33],
+ [8, 34],
+ [8, 34],
+ [8, 35],
+ [8, 35],
+ [8, 36],
+ [8, 36],
+ [8, 37],
+ [8, 37],
+ [8, 38],
+ [8, 38],
+ [7, 19],
+ [7, 19],
+ [7, 19],
+ [7, 19],
+ [8, 31],
+ [8, 31],
+ [8, 32],
+ [8, 32],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 12],
+ [6, 12],
+ [6, 12],
+ [6, 12],
+ [6, 12],
+ [6, 12],
+ [6, 12],
+ [6, 12],
+ [8, 53],
+ [8, 53],
+ [8, 54],
+ [8, 54],
+ [7, 26],
+ [7, 26],
+ [7, 26],
+ [7, 26],
+ [8, 39],
+ [8, 39],
+ [8, 40],
+ [8, 40],
+ [8, 41],
+ [8, 41],
+ [8, 42],
+ [8, 42],
+ [8, 43],
+ [8, 43],
+ [8, 44],
+ [8, 44],
+ [7, 21],
+ [7, 21],
+ [7, 21],
+ [7, 21],
+ [7, 28],
+ [7, 28],
+ [7, 28],
+ [7, 28],
+ [8, 61],
+ [8, 61],
+ [8, 62],
+ [8, 62],
+ [8, 63],
+ [8, 63],
+ [8, 0],
+ [8, 0],
+ [8, 320],
+ [8, 320],
+ [8, 384],
+ [8, 384],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 10],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [5, 11],
+ [7, 27],
+ [7, 27],
+ [7, 27],
+ [7, 27],
+ [8, 59],
+ [8, 59],
+ [8, 60],
+ [8, 60],
+ [9, 1472],
+ [9, 1536],
+ [9, 1600],
+ [9, 1728],
+ [7, 18],
+ [7, 18],
+ [7, 18],
+ [7, 18],
+ [7, 24],
+ [7, 24],
+ [7, 24],
+ [7, 24],
+ [8, 49],
+ [8, 49],
+ [8, 50],
+ [8, 50],
+ [8, 51],
+ [8, 51],
+ [8, 52],
+ [8, 52],
+ [7, 25],
+ [7, 25],
+ [7, 25],
+ [7, 25],
+ [8, 55],
+ [8, 55],
+ [8, 56],
+ [8, 56],
+ [8, 57],
+ [8, 57],
+ [8, 58],
+ [8, 58],
+ [6, 192],
+ [6, 192],
+ [6, 192],
+ [6, 192],
+ [6, 192],
+ [6, 192],
+ [6, 192],
+ [6, 192],
+ [6, 1664],
+ [6, 1664],
+ [6, 1664],
+ [6, 1664],
+ [6, 1664],
+ [6, 1664],
+ [6, 1664],
+ [6, 1664],
+ [8, 448],
+ [8, 448],
+ [8, 512],
+ [8, 512],
+ [9, 704],
+ [9, 768],
+ [8, 640],
+ [8, 640],
+ [8, 576],
+ [8, 576],
+ [9, 832],
+ [9, 896],
+ [9, 960],
+ [9, 1024],
+ [9, 1088],
+ [9, 1152],
+ [9, 1216],
+ [9, 1280],
+ [9, 1344],
+ [9, 1408],
+ [7, 256],
+ [7, 256],
+ [7, 256],
+ [7, 256],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [4, 3],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 128],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 8],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [5, 9],
+ [6, 16],
+ [6, 16],
+ [6, 16],
+ [6, 16],
+ [6, 16],
+ [6, 16],
+ [6, 16],
+ [6, 16],
+ [6, 17],
+ [6, 17],
+ [6, 17],
+ [6, 17],
+ [6, 17],
+ [6, 17],
+ [6, 17],
+ [6, 17],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 4],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [6, 14],
+ [6, 14],
+ [6, 14],
+ [6, 14],
+ [6, 14],
+ [6, 14],
+ [6, 14],
+ [6, 14],
+ [6, 15],
+ [6, 15],
+ [6, 15],
+ [6, 15],
+ [6, 15],
+ [6, 15],
+ [6, 15],
+ [6, 15],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [5, 64],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ [4, 7],
+ ],
+ c = [
+ [-1, -1],
+ [-1, -1],
+ [12, -2],
+ [12, -2],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [11, 1792],
+ [11, 1792],
+ [11, 1792],
+ [11, 1792],
+ [12, 1984],
+ [12, 1984],
+ [12, 2048],
+ [12, 2048],
+ [12, 2112],
+ [12, 2112],
+ [12, 2176],
+ [12, 2176],
+ [12, 2240],
+ [12, 2240],
+ [12, 2304],
+ [12, 2304],
+ [11, 1856],
+ [11, 1856],
+ [11, 1856],
+ [11, 1856],
+ [11, 1920],
+ [11, 1920],
+ [11, 1920],
+ [11, 1920],
+ [12, 2368],
+ [12, 2368],
+ [12, 2432],
+ [12, 2432],
+ [12, 2496],
+ [12, 2496],
+ [12, 2560],
+ [12, 2560],
+ [10, 18],
+ [10, 18],
+ [10, 18],
+ [10, 18],
+ [10, 18],
+ [10, 18],
+ [10, 18],
+ [10, 18],
+ [12, 52],
+ [12, 52],
+ [13, 640],
+ [13, 704],
+ [13, 768],
+ [13, 832],
+ [12, 55],
+ [12, 55],
+ [12, 56],
+ [12, 56],
+ [13, 1280],
+ [13, 1344],
+ [13, 1408],
+ [13, 1472],
+ [12, 59],
+ [12, 59],
+ [12, 60],
+ [12, 60],
+ [13, 1536],
+ [13, 1600],
+ [11, 24],
+ [11, 24],
+ [11, 24],
+ [11, 24],
+ [11, 25],
+ [11, 25],
+ [11, 25],
+ [11, 25],
+ [13, 1664],
+ [13, 1728],
+ [12, 320],
+ [12, 320],
+ [12, 384],
+ [12, 384],
+ [12, 448],
+ [12, 448],
+ [13, 512],
+ [13, 576],
+ [12, 53],
+ [12, 53],
+ [12, 54],
+ [12, 54],
+ [13, 896],
+ [13, 960],
+ [13, 1024],
+ [13, 1088],
+ [13, 1152],
+ [13, 1216],
+ [10, 64],
+ [10, 64],
+ [10, 64],
+ [10, 64],
+ [10, 64],
+ [10, 64],
+ [10, 64],
+ [10, 64],
+ ],
+ l = [
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [8, 13],
+ [11, 23],
+ [11, 23],
+ [12, 50],
+ [12, 51],
+ [12, 44],
+ [12, 45],
+ [12, 46],
+ [12, 47],
+ [12, 57],
+ [12, 58],
+ [12, 61],
+ [12, 256],
+ [10, 16],
+ [10, 16],
+ [10, 16],
+ [10, 16],
+ [10, 17],
+ [10, 17],
+ [10, 17],
+ [10, 17],
+ [12, 48],
+ [12, 49],
+ [12, 62],
+ [12, 63],
+ [12, 30],
+ [12, 31],
+ [12, 32],
+ [12, 33],
+ [12, 40],
+ [12, 41],
+ [11, 22],
+ [11, 22],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [8, 14],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 10],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [7, 11],
+ [9, 15],
+ [9, 15],
+ [9, 15],
+ [9, 15],
+ [9, 15],
+ [9, 15],
+ [9, 15],
+ [9, 15],
+ [12, 128],
+ [12, 192],
+ [12, 26],
+ [12, 27],
+ [12, 28],
+ [12, 29],
+ [11, 19],
+ [11, 19],
+ [11, 20],
+ [11, 20],
+ [12, 34],
+ [12, 35],
+ [12, 36],
+ [12, 37],
+ [12, 38],
+ [12, 39],
+ [11, 21],
+ [11, 21],
+ [12, 42],
+ [12, 43],
+ [10, 0],
+ [10, 0],
+ [10, 0],
+ [10, 0],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ [7, 12],
+ ],
+ h = [
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [-1, -1],
+ [6, 9],
+ [6, 8],
+ [5, 7],
+ [5, 7],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 6],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [4, 5],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [3, 4],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 3],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ [2, 2],
+ ];
+ t.CCITTFaxDecoder = class CCITTFaxDecoder {
+ constructor(e, t = {}) {
+ if (!e || 'function' != typeof e.next) throw new Error('CCITTFaxDecoder - invalid "source" parameter.');
+ this.source = e;
+ this.eof = !1;
+ this.encoding = t.K || 0;
+ this.eoline = t.EndOfLine || !1;
+ this.byteAlign = t.EncodedByteAlign || !1;
+ this.columns = t.Columns || 1728;
+ this.rows = t.Rows || 0;
+ let a,
+ r = t.EndOfBlock;
+ null == r && (r = !0);
+ this.eoblock = r;
+ this.black = t.BlackIs1 || !1;
+ this.codingLine = new Uint32Array(this.columns + 1);
+ this.refLine = new Uint32Array(this.columns + 2);
+ this.codingLine[0] = this.columns;
+ this.codingPos = 0;
+ this.row = 0;
+ this.nextLine2D = this.encoding < 0;
+ this.inputBits = 0;
+ this.inputBuf = 0;
+ this.outputBits = 0;
+ this.rowsDone = !1;
+ for (; 0 === (a = this._lookBits(12)); ) this._eatBits(1);
+ 1 === a && this._eatBits(12);
+ if (this.encoding > 0) {
+ this.nextLine2D = !this._lookBits(1);
+ this._eatBits(1);
+ }
+ }
+ readNextChar() {
+ if (this.eof) return -1;
+ const e = this.refLine,
+ t = this.codingLine,
+ a = this.columns;
+ let i, s, o, c, l;
+ if (0 === this.outputBits) {
+ this.rowsDone && (this.eof = !0);
+ if (this.eof) return -1;
+ this.err = !1;
+ let o, l, h;
+ if (this.nextLine2D) {
+ for (c = 0; t[c] < a; ++c) e[c] = t[c];
+ e[c++] = a;
+ e[c] = a;
+ t[0] = 0;
+ this.codingPos = 0;
+ i = 0;
+ s = 0;
+ for (; t[this.codingPos] < a; ) {
+ o = this._getTwoDimCode();
+ switch (o) {
+ case 0:
+ this._addPixels(e[i + 1], s);
+ e[i + 1] < a && (i += 2);
+ break;
+ case 1:
+ o = l = 0;
+ if (s) {
+ do {
+ o += h = this._getBlackCode();
+ } while (h >= 64);
+ do {
+ l += h = this._getWhiteCode();
+ } while (h >= 64);
+ } else {
+ do {
+ o += h = this._getWhiteCode();
+ } while (h >= 64);
+ do {
+ l += h = this._getBlackCode();
+ } while (h >= 64);
+ }
+ this._addPixels(t[this.codingPos] + o, s);
+ t[this.codingPos] < a && this._addPixels(t[this.codingPos] + l, 1 ^ s);
+ for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
+ break;
+ case 7:
+ this._addPixels(e[i] + 3, s);
+ s ^= 1;
+ if (t[this.codingPos] < a) {
+ ++i;
+ for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
+ }
+ break;
+ case 5:
+ this._addPixels(e[i] + 2, s);
+ s ^= 1;
+ if (t[this.codingPos] < a) {
+ ++i;
+ for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
+ }
+ break;
+ case 3:
+ this._addPixels(e[i] + 1, s);
+ s ^= 1;
+ if (t[this.codingPos] < a) {
+ ++i;
+ for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
+ }
+ break;
+ case 2:
+ this._addPixels(e[i], s);
+ s ^= 1;
+ if (t[this.codingPos] < a) {
+ ++i;
+ for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
+ }
+ break;
+ case 8:
+ this._addPixelsNeg(e[i] - 3, s);
+ s ^= 1;
+ if (t[this.codingPos] < a) {
+ i > 0 ? --i : ++i;
+ for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
+ }
+ break;
+ case 6:
+ this._addPixelsNeg(e[i] - 2, s);
+ s ^= 1;
+ if (t[this.codingPos] < a) {
+ i > 0 ? --i : ++i;
+ for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
+ }
+ break;
+ case 4:
+ this._addPixelsNeg(e[i] - 1, s);
+ s ^= 1;
+ if (t[this.codingPos] < a) {
+ i > 0 ? --i : ++i;
+ for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
+ }
+ break;
+ case n:
+ this._addPixels(a, 0);
+ this.eof = !0;
+ break;
+ default:
+ (0, r.info)('bad 2d code');
+ this._addPixels(a, 0);
+ this.err = !0;
+ }
+ }
+ } else {
+ t[0] = 0;
+ this.codingPos = 0;
+ s = 0;
+ for (; t[this.codingPos] < a; ) {
+ o = 0;
+ if (s)
+ do {
+ o += h = this._getBlackCode();
+ } while (h >= 64);
+ else
+ do {
+ o += h = this._getWhiteCode();
+ } while (h >= 64);
+ this._addPixels(t[this.codingPos] + o, s);
+ s ^= 1;
+ }
+ }
+ let u = !1;
+ this.byteAlign && (this.inputBits &= -8);
+ if (this.eoblock || this.row !== this.rows - 1) {
+ o = this._lookBits(12);
+ if (this.eoline)
+ for (; o !== n && 1 !== o; ) {
+ this._eatBits(1);
+ o = this._lookBits(12);
+ }
+ else
+ for (; 0 === o; ) {
+ this._eatBits(1);
+ o = this._lookBits(12);
+ }
+ if (1 === o) {
+ this._eatBits(12);
+ u = !0;
+ } else o === n && (this.eof = !0);
+ } else this.rowsDone = !0;
+ if (!this.eof && this.encoding > 0 && !this.rowsDone) {
+ this.nextLine2D = !this._lookBits(1);
+ this._eatBits(1);
+ }
+ if (this.eoblock && u && this.byteAlign) {
+ o = this._lookBits(12);
+ if (1 === o) {
+ this._eatBits(12);
+ if (this.encoding > 0) {
+ this._lookBits(1);
+ this._eatBits(1);
+ }
+ if (this.encoding >= 0)
+ for (c = 0; c < 4; ++c) {
+ o = this._lookBits(12);
+ 1 !== o && (0, r.info)('bad rtc code: ' + o);
+ this._eatBits(12);
+ if (this.encoding > 0) {
+ this._lookBits(1);
+ this._eatBits(1);
+ }
+ }
+ this.eof = !0;
+ }
+ } else if (this.err && this.eoline) {
+ for (;;) {
+ o = this._lookBits(13);
+ if (o === n) {
+ this.eof = !0;
+ return -1;
+ }
+ if (o >> 1 == 1) break;
+ this._eatBits(1);
+ }
+ this._eatBits(12);
+ if (this.encoding > 0) {
+ this._eatBits(1);
+ this.nextLine2D = !(1 & o);
+ }
+ }
+ t[0] > 0 ? (this.outputBits = t[(this.codingPos = 0)]) : (this.outputBits = t[(this.codingPos = 1)]);
+ this.row++;
+ }
+ if (this.outputBits >= 8) {
+ l = 1 & this.codingPos ? 0 : 255;
+ this.outputBits -= 8;
+ if (0 === this.outputBits && t[this.codingPos] < a) {
+ this.codingPos++;
+ this.outputBits = t[this.codingPos] - t[this.codingPos - 1];
+ }
+ } else {
+ o = 8;
+ l = 0;
+ do {
+ if ('number' != typeof this.outputBits)
+ throw new r.FormatError('Invalid /CCITTFaxDecode data, "outputBits" must be a number.');
+ if (this.outputBits > o) {
+ l <<= o;
+ 1 & this.codingPos || (l |= 255 >> (8 - o));
+ this.outputBits -= o;
+ o = 0;
+ } else {
+ l <<= this.outputBits;
+ 1 & this.codingPos || (l |= 255 >> (8 - this.outputBits));
+ o -= this.outputBits;
+ this.outputBits = 0;
+ if (t[this.codingPos] < a) {
+ this.codingPos++;
+ this.outputBits = t[this.codingPos] - t[this.codingPos - 1];
+ } else if (o > 0) {
+ l <<= o;
+ o = 0;
+ }
+ }
+ } while (o);
+ }
+ this.black && (l ^= 255);
+ return l;
+ }
+ _addPixels(e, t) {
+ const a = this.codingLine;
+ let n = this.codingPos;
+ if (e > a[n]) {
+ if (e > this.columns) {
+ (0, r.info)('row is wrong length');
+ this.err = !0;
+ e = this.columns;
+ }
+ (1 & n) ^ t && ++n;
+ a[n] = e;
+ }
+ this.codingPos = n;
+ }
+ _addPixelsNeg(e, t) {
+ const a = this.codingLine;
+ let n = this.codingPos;
+ if (e > a[n]) {
+ if (e > this.columns) {
+ (0, r.info)('row is wrong length');
+ this.err = !0;
+ e = this.columns;
+ }
+ (1 & n) ^ t && ++n;
+ a[n] = e;
+ } else if (e < a[n]) {
+ if (e < 0) {
+ (0, r.info)('invalid code');
+ this.err = !0;
+ e = 0;
+ }
+ for (; n > 0 && e < a[n - 1]; ) --n;
+ a[n] = e;
+ }
+ this.codingPos = n;
+ }
+ _findTableCode(e, t, a, r) {
+ const i = r || 0;
+ for (let r = e; r <= t; ++r) {
+ let e = this._lookBits(r);
+ if (e === n) return [!0, 1, !1];
+ r < t && (e <<= t - r);
+ if (!i || e >= i) {
+ const t = a[e - i];
+ if (t[0] === r) {
+ this._eatBits(r);
+ return [!0, t[1], !0];
+ }
+ }
+ }
+ return [!1, 0, !1];
+ }
+ _getTwoDimCode() {
+ let e,
+ t = 0;
+ if (this.eoblock) {
+ t = this._lookBits(7);
+ e = i[t];
+ if (e && e[0] > 0) {
+ this._eatBits(e[0]);
+ return e[1];
+ }
+ } else {
+ const e = this._findTableCode(1, 7, i);
+ if (e[0] && e[2]) return e[1];
+ }
+ (0, r.info)('Bad two dim code');
+ return n;
+ }
+ _getWhiteCode() {
+ let e,
+ t = 0;
+ if (this.eoblock) {
+ t = this._lookBits(12);
+ if (t === n) return 1;
+ e = t >> 5 == 0 ? s[t] : o[t >> 3];
+ if (e[0] > 0) {
+ this._eatBits(e[0]);
+ return e[1];
+ }
+ } else {
+ let e = this._findTableCode(1, 9, o);
+ if (e[0]) return e[1];
+ e = this._findTableCode(11, 12, s);
+ if (e[0]) return e[1];
+ }
+ (0, r.info)('bad white code');
+ this._eatBits(1);
+ return 1;
+ }
+ _getBlackCode() {
+ let e, t;
+ if (this.eoblock) {
+ e = this._lookBits(13);
+ if (e === n) return 1;
+ t = e >> 7 == 0 ? c[e] : e >> 9 == 0 && e >> 7 != 0 ? l[(e >> 1) - 64] : h[e >> 7];
+ if (t[0] > 0) {
+ this._eatBits(t[0]);
+ return t[1];
+ }
+ } else {
+ let e = this._findTableCode(2, 6, h);
+ if (e[0]) return e[1];
+ e = this._findTableCode(7, 12, l, 64);
+ if (e[0]) return e[1];
+ e = this._findTableCode(10, 13, c);
+ if (e[0]) return e[1];
+ }
+ (0, r.info)('bad black code');
+ this._eatBits(1);
+ return 1;
+ }
+ _lookBits(e) {
+ let t;
+ for (; this.inputBits < e; ) {
+ if (-1 === (t = this.source.next()))
+ return 0 === this.inputBits ? n : (this.inputBuf << (e - this.inputBits)) & (65535 >> (16 - e));
+ this.inputBuf = (this.inputBuf << 8) | t;
+ this.inputBits += 8;
+ }
+ return (this.inputBuf >> (this.inputBits - e)) & (65535 >> (16 - e));
+ }
+ _eatBits(e) {
+ (this.inputBits -= e) < 0 && (this.inputBits = 0);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.FlateStream = void 0;
+ var r = a(19),
+ n = a(2);
+ const i = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]),
+ s = new Int32Array([
+ 3, 4, 5, 6, 7, 8, 9, 10, 65547, 65549, 65551, 65553, 131091, 131095, 131099, 131103, 196643, 196651,
+ 196659, 196667, 262211, 262227, 262243, 262259, 327811, 327843, 327875, 327907, 258, 258, 258,
+ ]),
+ o = new Int32Array([
+ 1, 2, 3, 4, 65541, 65543, 131081, 131085, 196625, 196633, 262177, 262193, 327745, 327777, 393345, 393409,
+ 459009, 459137, 524801, 525057, 590849, 591361, 657409, 658433, 724993, 727041, 794625, 798721, 868353,
+ 876545,
+ ]),
+ c = [
+ new Int32Array([
+ 459008, 524368, 524304, 524568, 459024, 524400, 524336, 590016, 459016, 524384, 524320, 589984, 524288,
+ 524416, 524352, 590048, 459012, 524376, 524312, 589968, 459028, 524408, 524344, 590032, 459020, 524392,
+ 524328, 59e4, 524296, 524424, 524360, 590064, 459010, 524372, 524308, 524572, 459026, 524404, 524340,
+ 590024, 459018, 524388, 524324, 589992, 524292, 524420, 524356, 590056, 459014, 524380, 524316, 589976,
+ 459030, 524412, 524348, 590040, 459022, 524396, 524332, 590008, 524300, 524428, 524364, 590072, 459009,
+ 524370, 524306, 524570, 459025, 524402, 524338, 590020, 459017, 524386, 524322, 589988, 524290, 524418,
+ 524354, 590052, 459013, 524378, 524314, 589972, 459029, 524410, 524346, 590036, 459021, 524394, 524330,
+ 590004, 524298, 524426, 524362, 590068, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590028,
+ 459019, 524390, 524326, 589996, 524294, 524422, 524358, 590060, 459015, 524382, 524318, 589980, 459031,
+ 524414, 524350, 590044, 459023, 524398, 524334, 590012, 524302, 524430, 524366, 590076, 459008, 524369,
+ 524305, 524569, 459024, 524401, 524337, 590018, 459016, 524385, 524321, 589986, 524289, 524417, 524353,
+ 590050, 459012, 524377, 524313, 589970, 459028, 524409, 524345, 590034, 459020, 524393, 524329, 590002,
+ 524297, 524425, 524361, 590066, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590026, 459018,
+ 524389, 524325, 589994, 524293, 524421, 524357, 590058, 459014, 524381, 524317, 589978, 459030, 524413,
+ 524349, 590042, 459022, 524397, 524333, 590010, 524301, 524429, 524365, 590074, 459009, 524371, 524307,
+ 524571, 459025, 524403, 524339, 590022, 459017, 524387, 524323, 589990, 524291, 524419, 524355, 590054,
+ 459013, 524379, 524315, 589974, 459029, 524411, 524347, 590038, 459021, 524395, 524331, 590006, 524299,
+ 524427, 524363, 590070, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590030, 459019, 524391,
+ 524327, 589998, 524295, 524423, 524359, 590062, 459015, 524383, 524319, 589982, 459031, 524415, 524351,
+ 590046, 459023, 524399, 524335, 590014, 524303, 524431, 524367, 590078, 459008, 524368, 524304, 524568,
+ 459024, 524400, 524336, 590017, 459016, 524384, 524320, 589985, 524288, 524416, 524352, 590049, 459012,
+ 524376, 524312, 589969, 459028, 524408, 524344, 590033, 459020, 524392, 524328, 590001, 524296, 524424,
+ 524360, 590065, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590025, 459018, 524388, 524324,
+ 589993, 524292, 524420, 524356, 590057, 459014, 524380, 524316, 589977, 459030, 524412, 524348, 590041,
+ 459022, 524396, 524332, 590009, 524300, 524428, 524364, 590073, 459009, 524370, 524306, 524570, 459025,
+ 524402, 524338, 590021, 459017, 524386, 524322, 589989, 524290, 524418, 524354, 590053, 459013, 524378,
+ 524314, 589973, 459029, 524410, 524346, 590037, 459021, 524394, 524330, 590005, 524298, 524426, 524362,
+ 590069, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590029, 459019, 524390, 524326, 589997,
+ 524294, 524422, 524358, 590061, 459015, 524382, 524318, 589981, 459031, 524414, 524350, 590045, 459023,
+ 524398, 524334, 590013, 524302, 524430, 524366, 590077, 459008, 524369, 524305, 524569, 459024, 524401,
+ 524337, 590019, 459016, 524385, 524321, 589987, 524289, 524417, 524353, 590051, 459012, 524377, 524313,
+ 589971, 459028, 524409, 524345, 590035, 459020, 524393, 524329, 590003, 524297, 524425, 524361, 590067,
+ 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590027, 459018, 524389, 524325, 589995, 524293,
+ 524421, 524357, 590059, 459014, 524381, 524317, 589979, 459030, 524413, 524349, 590043, 459022, 524397,
+ 524333, 590011, 524301, 524429, 524365, 590075, 459009, 524371, 524307, 524571, 459025, 524403, 524339,
+ 590023, 459017, 524387, 524323, 589991, 524291, 524419, 524355, 590055, 459013, 524379, 524315, 589975,
+ 459029, 524411, 524347, 590039, 459021, 524395, 524331, 590007, 524299, 524427, 524363, 590071, 459011,
+ 524375, 524311, 524575, 459027, 524407, 524343, 590031, 459019, 524391, 524327, 589999, 524295, 524423,
+ 524359, 590063, 459015, 524383, 524319, 589983, 459031, 524415, 524351, 590047, 459023, 524399, 524335,
+ 590015, 524303, 524431, 524367, 590079,
+ ]),
+ 9,
+ ],
+ l = [
+ new Int32Array([
+ 327680, 327696, 327688, 327704, 327684, 327700, 327692, 327708, 327682, 327698, 327690, 327706, 327686,
+ 327702, 327694, 0, 327681, 327697, 327689, 327705, 327685, 327701, 327693, 327709, 327683, 327699,
+ 327691, 327707, 327687, 327703, 327695, 0,
+ ]),
+ 5,
+ ];
+ class FlateStream extends r.DecodeStream {
+ constructor(e, t) {
+ super(t);
+ this.str = e;
+ this.dict = e.dict;
+ const a = e.getByte(),
+ r = e.getByte();
+ if (-1 === a || -1 === r) throw new n.FormatError(`Invalid header in flate stream: ${a}, ${r}`);
+ if (8 != (15 & a)) throw new n.FormatError(`Unknown compression method in flate stream: ${a}, ${r}`);
+ if (((a << 8) + r) % 31 != 0) throw new n.FormatError(`Bad FCHECK in flate stream: ${a}, ${r}`);
+ if (32 & r) throw new n.FormatError(`FDICT bit set in flate stream: ${a}, ${r}`);
+ this.codeSize = 0;
+ this.codeBuf = 0;
+ }
+ getBits(e) {
+ const t = this.str;
+ let a,
+ r = this.codeSize,
+ i = this.codeBuf;
+ for (; r < e; ) {
+ if (-1 === (a = t.getByte())) throw new n.FormatError('Bad encoding in flate stream');
+ i |= a << r;
+ r += 8;
+ }
+ a = i & ((1 << e) - 1);
+ this.codeBuf = i >> e;
+ this.codeSize = r -= e;
+ return a;
+ }
+ getCode(e) {
+ const t = this.str,
+ a = e[0],
+ r = e[1];
+ let i,
+ s = this.codeSize,
+ o = this.codeBuf;
+ for (; s < r && -1 !== (i = t.getByte()); ) {
+ o |= i << s;
+ s += 8;
+ }
+ const c = a[o & ((1 << r) - 1)],
+ l = c >> 16,
+ h = 65535 & c;
+ if (l < 1 || s < l) throw new n.FormatError('Bad encoding in flate stream');
+ this.codeBuf = o >> l;
+ this.codeSize = s - l;
+ return h;
+ }
+ generateHuffmanTable(e) {
+ const t = e.length;
+ let a,
+ r = 0;
+ for (a = 0; a < t; ++a) e[a] > r && (r = e[a]);
+ const n = 1 << r,
+ i = new Int32Array(n);
+ for (let s = 1, o = 0, c = 2; s <= r; ++s, o <<= 1, c <<= 1)
+ for (let r = 0; r < t; ++r)
+ if (e[r] === s) {
+ let e = 0,
+ t = o;
+ for (a = 0; a < s; ++a) {
+ e = (e << 1) | (1 & t);
+ t >>= 1;
+ }
+ for (a = e; a < n; a += c) i[a] = (s << 16) | r;
+ ++o;
+ }
+ return [i, r];
+ }
+ readBlock() {
+ let e, t;
+ const a = this.str;
+ let r,
+ h,
+ u = this.getBits(3);
+ 1 & u && (this.eof = !0);
+ u >>= 1;
+ if (0 === u) {
+ let t;
+ if (-1 === (t = a.getByte())) throw new n.FormatError('Bad block header in flate stream');
+ let r = t;
+ if (-1 === (t = a.getByte())) throw new n.FormatError('Bad block header in flate stream');
+ r |= t << 8;
+ if (-1 === (t = a.getByte())) throw new n.FormatError('Bad block header in flate stream');
+ let i = t;
+ if (-1 === (t = a.getByte())) throw new n.FormatError('Bad block header in flate stream');
+ i |= t << 8;
+ if (i !== (65535 & ~r) && (0 !== r || 0 !== i))
+ throw new n.FormatError('Bad uncompressed block length in flate stream');
+ this.codeBuf = 0;
+ this.codeSize = 0;
+ const s = this.bufferLength,
+ o = s + r;
+ e = this.ensureBuffer(o);
+ this.bufferLength = o;
+ if (0 === r) -1 === a.peekByte() && (this.eof = !0);
+ else {
+ const t = a.getBytes(r);
+ e.set(t, s);
+ t.length < r && (this.eof = !0);
+ }
+ return;
+ }
+ if (1 === u) {
+ r = c;
+ h = l;
+ } else {
+ if (2 !== u) throw new n.FormatError('Unknown block type in flate stream');
+ {
+ const e = this.getBits(5) + 257,
+ a = this.getBits(5) + 1,
+ n = this.getBits(4) + 4,
+ s = new Uint8Array(i.length);
+ let o;
+ for (o = 0; o < n; ++o) s[i[o]] = this.getBits(3);
+ const c = this.generateHuffmanTable(s);
+ t = 0;
+ o = 0;
+ const l = e + a,
+ u = new Uint8Array(l);
+ let d, f, g;
+ for (; o < l; ) {
+ const e = this.getCode(c);
+ if (16 === e) {
+ d = 2;
+ f = 3;
+ g = t;
+ } else if (17 === e) {
+ d = 3;
+ f = 3;
+ g = t = 0;
+ } else {
+ if (18 !== e) {
+ u[o++] = t = e;
+ continue;
+ }
+ d = 7;
+ f = 11;
+ g = t = 0;
+ }
+ let a = this.getBits(d) + f;
+ for (; a-- > 0; ) u[o++] = g;
+ }
+ r = this.generateHuffmanTable(u.subarray(0, e));
+ h = this.generateHuffmanTable(u.subarray(e, l));
+ }
+ }
+ e = this.buffer;
+ let d = e ? e.length : 0,
+ f = this.bufferLength;
+ for (;;) {
+ let a = this.getCode(r);
+ if (a < 256) {
+ if (f + 1 >= d) {
+ e = this.ensureBuffer(f + 1);
+ d = e.length;
+ }
+ e[f++] = a;
+ continue;
+ }
+ if (256 === a) {
+ this.bufferLength = f;
+ return;
+ }
+ a -= 257;
+ a = s[a];
+ let n = a >> 16;
+ n > 0 && (n = this.getBits(n));
+ t = (65535 & a) + n;
+ a = this.getCode(h);
+ a = o[a];
+ n = a >> 16;
+ n > 0 && (n = this.getBits(n));
+ const i = (65535 & a) + n;
+ if (f + t >= d) {
+ e = this.ensureBuffer(f + t);
+ d = e.length;
+ }
+ for (let a = 0; a < t; ++a, ++f) e[f] = e[f - i];
+ }
+ }
+ }
+ t.FlateStream = FlateStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Jbig2Stream = void 0;
+ var r = a(7),
+ n = a(19),
+ i = a(5),
+ s = a(25),
+ o = a(2);
+ class Jbig2Stream extends n.DecodeStream {
+ constructor(e, t, a) {
+ super(t);
+ this.stream = e;
+ this.dict = e.dict;
+ this.maybeLength = t;
+ this.params = a;
+ }
+ get bytes() {
+ return (0, o.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
+ }
+ ensureBuffer(e) {}
+ readBlock() {
+ if (this.eof) return;
+ const e = new s.Jbig2Image(),
+ t = [];
+ if (this.params instanceof i.Dict) {
+ const e = this.params.get('JBIG2Globals');
+ if (e instanceof r.BaseStream) {
+ const a = e.getBytes();
+ t.push({data: a, start: 0, end: a.length});
+ }
+ }
+ t.push({data: this.bytes, start: 0, end: this.bytes.length});
+ const a = e.parseChunks(t),
+ n = a.length;
+ for (let e = 0; e < n; e++) a[e] ^= 255;
+ this.buffer = a;
+ this.bufferLength = n;
+ this.eof = !0;
+ }
+ }
+ t.Jbig2Stream = Jbig2Stream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Jbig2Image = void 0;
+ var r = a(2),
+ n = a(6),
+ i = a(26),
+ s = a(22);
+ class Jbig2Error extends r.BaseException {
+ constructor(e) {
+ super(`JBIG2 error: ${e}`, 'Jbig2Error');
+ }
+ }
+ class ContextCache {
+ getContexts(e) {
+ return e in this ? this[e] : (this[e] = new Int8Array(65536));
+ }
+ }
+ class DecodingContext {
+ constructor(e, t, a) {
+ this.data = e;
+ this.start = t;
+ this.end = a;
+ }
+ get decoder() {
+ const e = new i.ArithmeticDecoder(this.data, this.start, this.end);
+ return (0, r.shadow)(this, 'decoder', e);
+ }
+ get contextCache() {
+ const e = new ContextCache();
+ return (0, r.shadow)(this, 'contextCache', e);
+ }
+ }
+ function decodeInteger(e, t, a) {
+ const r = e.getContexts(t);
+ let n = 1;
+ function readBits(e) {
+ let t = 0;
+ for (let i = 0; i < e; i++) {
+ const e = a.readBit(r, n);
+ n = n < 256 ? (n << 1) | e : (511 & ((n << 1) | e)) | 256;
+ t = (t << 1) | e;
+ }
+ return t >>> 0;
+ }
+ const i = readBits(1),
+ s = readBits(1)
+ ? readBits(1)
+ ? readBits(1)
+ ? readBits(1)
+ ? readBits(1)
+ ? readBits(32) + 4436
+ : readBits(12) + 340
+ : readBits(8) + 84
+ : readBits(6) + 20
+ : readBits(4) + 4
+ : readBits(2);
+ return 0 === i ? s : s > 0 ? -s : null;
+ }
+ function decodeIAID(e, t, a) {
+ const r = e.getContexts('IAID');
+ let n = 1;
+ for (let e = 0; e < a; e++) {
+ n = (n << 1) | t.readBit(r, n);
+ }
+ return a < 31 ? n & ((1 << a) - 1) : 2147483647 & n;
+ }
+ const o = [
+ 'SymbolDictionary',
+ null,
+ null,
+ null,
+ 'IntermediateTextRegion',
+ null,
+ 'ImmediateTextRegion',
+ 'ImmediateLosslessTextRegion',
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ 'PatternDictionary',
+ null,
+ null,
+ null,
+ 'IntermediateHalftoneRegion',
+ null,
+ 'ImmediateHalftoneRegion',
+ 'ImmediateLosslessHalftoneRegion',
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ 'IntermediateGenericRegion',
+ null,
+ 'ImmediateGenericRegion',
+ 'ImmediateLosslessGenericRegion',
+ 'IntermediateGenericRefinementRegion',
+ null,
+ 'ImmediateGenericRefinementRegion',
+ 'ImmediateLosslessGenericRefinementRegion',
+ null,
+ null,
+ null,
+ null,
+ 'PageInformation',
+ 'EndOfPage',
+ 'EndOfStripe',
+ 'EndOfFile',
+ 'Profiles',
+ 'Tables',
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ 'Extension',
+ ],
+ c = [
+ [
+ {x: -1, y: -2},
+ {x: 0, y: -2},
+ {x: 1, y: -2},
+ {x: -2, y: -1},
+ {x: -1, y: -1},
+ {x: 0, y: -1},
+ {x: 1, y: -1},
+ {x: 2, y: -1},
+ {x: -4, y: 0},
+ {x: -3, y: 0},
+ {x: -2, y: 0},
+ {x: -1, y: 0},
+ ],
+ [
+ {x: -1, y: -2},
+ {x: 0, y: -2},
+ {x: 1, y: -2},
+ {x: 2, y: -2},
+ {x: -2, y: -1},
+ {x: -1, y: -1},
+ {x: 0, y: -1},
+ {x: 1, y: -1},
+ {x: 2, y: -1},
+ {x: -3, y: 0},
+ {x: -2, y: 0},
+ {x: -1, y: 0},
+ ],
+ [
+ {x: -1, y: -2},
+ {x: 0, y: -2},
+ {x: 1, y: -2},
+ {x: -2, y: -1},
+ {x: -1, y: -1},
+ {x: 0, y: -1},
+ {x: 1, y: -1},
+ {x: -2, y: 0},
+ {x: -1, y: 0},
+ ],
+ [
+ {x: -3, y: -1},
+ {x: -2, y: -1},
+ {x: -1, y: -1},
+ {x: 0, y: -1},
+ {x: 1, y: -1},
+ {x: -4, y: 0},
+ {x: -3, y: 0},
+ {x: -2, y: 0},
+ {x: -1, y: 0},
+ ],
+ ],
+ l = [
+ {
+ coding: [
+ {x: 0, y: -1},
+ {x: 1, y: -1},
+ {x: -1, y: 0},
+ ],
+ reference: [
+ {x: 0, y: -1},
+ {x: 1, y: -1},
+ {x: -1, y: 0},
+ {x: 0, y: 0},
+ {x: 1, y: 0},
+ {x: -1, y: 1},
+ {x: 0, y: 1},
+ {x: 1, y: 1},
+ ],
+ },
+ {
+ coding: [
+ {x: -1, y: -1},
+ {x: 0, y: -1},
+ {x: 1, y: -1},
+ {x: -1, y: 0},
+ ],
+ reference: [
+ {x: 0, y: -1},
+ {x: -1, y: 0},
+ {x: 0, y: 0},
+ {x: 1, y: 0},
+ {x: 0, y: 1},
+ {x: 1, y: 1},
+ ],
+ },
+ ],
+ h = [39717, 1941, 229, 405],
+ u = [32, 8];
+ function decodeBitmap(e, t, a, r, n, i, s, o) {
+ if (e) {
+ return decodeMMRBitmap(new Reader(o.data, o.start, o.end), t, a, !1);
+ }
+ if (
+ 0 === r &&
+ !i &&
+ !n &&
+ 4 === s.length &&
+ 3 === s[0].x &&
+ -1 === s[0].y &&
+ -3 === s[1].x &&
+ -1 === s[1].y &&
+ 2 === s[2].x &&
+ -2 === s[2].y &&
+ -2 === s[3].x &&
+ -2 === s[3].y
+ )
+ return (function decodeBitmapTemplate0(e, t, a) {
+ const r = a.decoder,
+ n = a.contextCache.getContexts('GB'),
+ i = [];
+ let s, o, c, l, h, u, d;
+ for (o = 0; o < t; o++) {
+ h = i[o] = new Uint8Array(e);
+ u = o < 1 ? h : i[o - 1];
+ d = o < 2 ? h : i[o - 2];
+ s =
+ (d[0] << 13) | (d[1] << 12) | (d[2] << 11) | (u[0] << 7) | (u[1] << 6) | (u[2] << 5) | (u[3] << 4);
+ for (c = 0; c < e; c++) {
+ h[c] = l = r.readBit(n, s);
+ s = ((31735 & s) << 1) | (c + 3 < e ? d[c + 3] << 11 : 0) | (c + 4 < e ? u[c + 4] << 4 : 0) | l;
+ }
+ }
+ return i;
+ })(t, a, o);
+ const l = !!i,
+ u = c[r].concat(s);
+ u.sort(function (e, t) {
+ return e.y - t.y || e.x - t.x;
+ });
+ const d = u.length,
+ f = new Int8Array(d),
+ g = new Int8Array(d),
+ p = [];
+ let m,
+ b,
+ y = 0,
+ w = 0,
+ S = 0,
+ x = 0;
+ for (b = 0; b < d; b++) {
+ f[b] = u[b].x;
+ g[b] = u[b].y;
+ w = Math.min(w, u[b].x);
+ S = Math.max(S, u[b].x);
+ x = Math.min(x, u[b].y);
+ b < d - 1 && u[b].y === u[b + 1].y && u[b].x === u[b + 1].x - 1 ? (y |= 1 << (d - 1 - b)) : p.push(b);
+ }
+ const k = p.length,
+ C = new Int8Array(k),
+ v = new Int8Array(k),
+ F = new Uint16Array(k);
+ for (m = 0; m < k; m++) {
+ b = p[m];
+ C[m] = u[b].x;
+ v[m] = u[b].y;
+ F[m] = 1 << (d - 1 - b);
+ }
+ const O = -w,
+ T = -x,
+ M = t - S,
+ E = h[r];
+ let D = new Uint8Array(t);
+ const N = [],
+ R = o.decoder,
+ L = o.contextCache.getContexts('GB');
+ let j,
+ $,
+ _,
+ U,
+ X,
+ H = 0,
+ q = 0;
+ for (let e = 0; e < a; e++) {
+ if (n) {
+ H ^= R.readBit(L, E);
+ if (H) {
+ N.push(D);
+ continue;
+ }
+ }
+ D = new Uint8Array(D);
+ N.push(D);
+ for (j = 0; j < t; j++) {
+ if (l && i[e][j]) {
+ D[j] = 0;
+ continue;
+ }
+ if (j >= O && j < M && e >= T) {
+ q = (q << 1) & y;
+ for (b = 0; b < k; b++) {
+ $ = e + v[b];
+ _ = j + C[b];
+ U = N[$][_];
+ if (U) {
+ U = F[b];
+ q |= U;
+ }
+ }
+ } else {
+ q = 0;
+ X = d - 1;
+ for (b = 0; b < d; b++, X--) {
+ _ = j + f[b];
+ if (_ >= 0 && _ < t) {
+ $ = e + g[b];
+ if ($ >= 0) {
+ U = N[$][_];
+ U && (q |= U << X);
+ }
+ }
+ }
+ }
+ const a = R.readBit(L, q);
+ D[j] = a;
+ }
+ }
+ return N;
+ }
+ function decodeRefinement(e, t, a, r, n, i, s, o, c) {
+ let h = l[a].coding;
+ 0 === a && (h = h.concat([o[0]]));
+ const d = h.length,
+ f = new Int32Array(d),
+ g = new Int32Array(d);
+ let p;
+ for (p = 0; p < d; p++) {
+ f[p] = h[p].x;
+ g[p] = h[p].y;
+ }
+ let m = l[a].reference;
+ 0 === a && (m = m.concat([o[1]]));
+ const b = m.length,
+ y = new Int32Array(b),
+ w = new Int32Array(b);
+ for (p = 0; p < b; p++) {
+ y[p] = m[p].x;
+ w[p] = m[p].y;
+ }
+ const S = r[0].length,
+ x = r.length,
+ k = u[a],
+ C = [],
+ v = c.decoder,
+ F = c.contextCache.getContexts('GR');
+ let O = 0;
+ for (let a = 0; a < t; a++) {
+ if (s) {
+ O ^= v.readBit(F, k);
+ if (O) throw new Jbig2Error('prediction is not supported');
+ }
+ const t = new Uint8Array(e);
+ C.push(t);
+ for (let s = 0; s < e; s++) {
+ let o,
+ c,
+ l = 0;
+ for (p = 0; p < d; p++) {
+ o = a + g[p];
+ c = s + f[p];
+ o < 0 || c < 0 || c >= e ? (l <<= 1) : (l = (l << 1) | C[o][c]);
+ }
+ for (p = 0; p < b; p++) {
+ o = a + w[p] - i;
+ c = s + y[p] - n;
+ o < 0 || o >= x || c < 0 || c >= S ? (l <<= 1) : (l = (l << 1) | r[o][c]);
+ }
+ const h = v.readBit(F, l);
+ t[s] = h;
+ }
+ }
+ return C;
+ }
+ function decodeTextRegion(e, t, a, r, n, i, s, o, c, l, h, u, d, f, g, p, m, b, y) {
+ if (e && t) throw new Jbig2Error('refinement with Huffman is not supported');
+ const w = [];
+ let S, x;
+ for (S = 0; S < r; S++) {
+ x = new Uint8Array(a);
+ if (n) for (let e = 0; e < a; e++) x[e] = n;
+ w.push(x);
+ }
+ const k = m.decoder,
+ C = m.contextCache;
+ let v = e ? -f.tableDeltaT.decode(y) : -decodeInteger(C, 'IADT', k),
+ F = 0;
+ S = 0;
+ for (; S < i; ) {
+ v += e ? f.tableDeltaT.decode(y) : decodeInteger(C, 'IADT', k);
+ F += e ? f.tableFirstS.decode(y) : decodeInteger(C, 'IAFS', k);
+ let r = F;
+ for (;;) {
+ let n = 0;
+ s > 1 && (n = e ? y.readBits(b) : decodeInteger(C, 'IAIT', k));
+ const i = s * v + n,
+ F = e ? f.symbolIDTable.decode(y) : decodeIAID(C, k, c),
+ O = t && (e ? y.readBit() : decodeInteger(C, 'IARI', k));
+ let T = o[F],
+ M = T[0].length,
+ E = T.length;
+ if (O) {
+ const e = decodeInteger(C, 'IARDW', k),
+ t = decodeInteger(C, 'IARDH', k),
+ a = decodeInteger(C, 'IARDX', k),
+ r = decodeInteger(C, 'IARDY', k);
+ M += e;
+ E += t;
+ T = decodeRefinement(M, E, g, T, (e >> 1) + a, (t >> 1) + r, !1, p, m);
+ }
+ const D = i - (1 & u ? 0 : E - 1),
+ N = r - (2 & u ? M - 1 : 0);
+ let R, L, j;
+ if (l) {
+ for (R = 0; R < E; R++) {
+ x = w[N + R];
+ if (!x) continue;
+ j = T[R];
+ const e = Math.min(a - D, M);
+ switch (d) {
+ case 0:
+ for (L = 0; L < e; L++) x[D + L] |= j[L];
+ break;
+ case 2:
+ for (L = 0; L < e; L++) x[D + L] ^= j[L];
+ break;
+ default:
+ throw new Jbig2Error(`operator ${d} is not supported`);
+ }
+ }
+ r += E - 1;
+ } else {
+ for (L = 0; L < E; L++) {
+ x = w[D + L];
+ if (x) {
+ j = T[L];
+ switch (d) {
+ case 0:
+ for (R = 0; R < M; R++) x[N + R] |= j[R];
+ break;
+ case 2:
+ for (R = 0; R < M; R++) x[N + R] ^= j[R];
+ break;
+ default:
+ throw new Jbig2Error(`operator ${d} is not supported`);
+ }
+ }
+ }
+ r += M - 1;
+ }
+ S++;
+ const $ = e ? f.tableDeltaS.decode(y) : decodeInteger(C, 'IADS', k);
+ if (null === $) break;
+ r += $ + h;
+ }
+ }
+ return w;
+ }
+ function readSegmentHeader(e, t) {
+ const a = {};
+ a.number = (0, n.readUint32)(e, t);
+ const r = e[t + 4],
+ i = 63 & r;
+ if (!o[i]) throw new Jbig2Error('invalid segment type: ' + i);
+ a.type = i;
+ a.typeName = o[i];
+ a.deferredNonRetain = !!(128 & r);
+ const s = !!(64 & r),
+ c = e[t + 5];
+ let l = (c >> 5) & 7;
+ const h = [31 & c];
+ let u = t + 6;
+ if (7 === c) {
+ l = 536870911 & (0, n.readUint32)(e, u - 1);
+ u += 3;
+ let t = (l + 7) >> 3;
+ h[0] = e[u++];
+ for (; --t > 0; ) h.push(e[u++]);
+ } else if (5 === c || 6 === c) throw new Jbig2Error('invalid referred-to flags');
+ a.retainBits = h;
+ let f = 4;
+ a.number <= 256 ? (f = 1) : a.number <= 65536 && (f = 2);
+ const g = [];
+ let p, m;
+ for (p = 0; p < l; p++) {
+ let t;
+ t = 1 === f ? e[u] : 2 === f ? (0, n.readUint16)(e, u) : (0, n.readUint32)(e, u);
+ g.push(t);
+ u += f;
+ }
+ a.referredTo = g;
+ if (s) {
+ a.pageAssociation = (0, n.readUint32)(e, u);
+ u += 4;
+ } else a.pageAssociation = e[u++];
+ a.length = (0, n.readUint32)(e, u);
+ u += 4;
+ if (4294967295 === a.length) {
+ if (38 !== i) throw new Jbig2Error('invalid unknown segment length');
+ {
+ const t = readRegionSegmentInformation(e, u),
+ r = !!(1 & e[u + d]),
+ n = 6,
+ i = new Uint8Array(n);
+ if (!r) {
+ i[0] = 255;
+ i[1] = 172;
+ }
+ i[2] = (t.height >>> 24) & 255;
+ i[3] = (t.height >> 16) & 255;
+ i[4] = (t.height >> 8) & 255;
+ i[5] = 255 & t.height;
+ for (p = u, m = e.length; p < m; p++) {
+ let t = 0;
+ for (; t < n && i[t] === e[p + t]; ) t++;
+ if (t === n) {
+ a.length = p + n;
+ break;
+ }
+ }
+ if (4294967295 === a.length) throw new Jbig2Error('segment end was not found');
+ }
+ }
+ a.headerEnd = u;
+ return a;
+ }
+ function readSegments(e, t, a, r) {
+ const n = [];
+ let i = a;
+ for (; i < r; ) {
+ const a = readSegmentHeader(t, i);
+ i = a.headerEnd;
+ const r = {header: a, data: t};
+ if (!e.randomAccess) {
+ r.start = i;
+ i += a.length;
+ r.end = i;
+ }
+ n.push(r);
+ if (51 === a.type) break;
+ }
+ if (e.randomAccess)
+ for (let e = 0, t = n.length; e < t; e++) {
+ n[e].start = i;
+ i += n[e].header.length;
+ n[e].end = i;
+ }
+ return n;
+ }
+ function readRegionSegmentInformation(e, t) {
+ return {
+ width: (0, n.readUint32)(e, t),
+ height: (0, n.readUint32)(e, t + 4),
+ x: (0, n.readUint32)(e, t + 8),
+ y: (0, n.readUint32)(e, t + 12),
+ combinationOperator: 7 & e[t + 16],
+ };
+ }
+ const d = 17;
+ function processSegment(e, t) {
+ const a = e.header,
+ r = e.data,
+ i = e.end;
+ let s,
+ o,
+ c,
+ l,
+ h = e.start;
+ switch (a.type) {
+ case 0:
+ const e = {},
+ t = (0, n.readUint16)(r, h);
+ e.huffman = !!(1 & t);
+ e.refinement = !!(2 & t);
+ e.huffmanDHSelector = (t >> 2) & 3;
+ e.huffmanDWSelector = (t >> 4) & 3;
+ e.bitmapSizeSelector = (t >> 6) & 1;
+ e.aggregationInstancesSelector = (t >> 7) & 1;
+ e.bitmapCodingContextUsed = !!(256 & t);
+ e.bitmapCodingContextRetained = !!(512 & t);
+ e.template = (t >> 10) & 3;
+ e.refinementTemplate = (t >> 12) & 1;
+ h += 2;
+ if (!e.huffman) {
+ l = 0 === e.template ? 4 : 1;
+ o = [];
+ for (c = 0; c < l; c++) {
+ o.push({x: (0, n.readInt8)(r, h), y: (0, n.readInt8)(r, h + 1)});
+ h += 2;
+ }
+ e.at = o;
+ }
+ if (e.refinement && !e.refinementTemplate) {
+ o = [];
+ for (c = 0; c < 2; c++) {
+ o.push({x: (0, n.readInt8)(r, h), y: (0, n.readInt8)(r, h + 1)});
+ h += 2;
+ }
+ e.refinementAt = o;
+ }
+ e.numberOfExportedSymbols = (0, n.readUint32)(r, h);
+ h += 4;
+ e.numberOfNewSymbols = (0, n.readUint32)(r, h);
+ h += 4;
+ s = [e, a.number, a.referredTo, r, h, i];
+ break;
+ case 6:
+ case 7:
+ const u = {};
+ u.info = readRegionSegmentInformation(r, h);
+ h += d;
+ const f = (0, n.readUint16)(r, h);
+ h += 2;
+ u.huffman = !!(1 & f);
+ u.refinement = !!(2 & f);
+ u.logStripSize = (f >> 2) & 3;
+ u.stripSize = 1 << u.logStripSize;
+ u.referenceCorner = (f >> 4) & 3;
+ u.transposed = !!(64 & f);
+ u.combinationOperator = (f >> 7) & 3;
+ u.defaultPixelValue = (f >> 9) & 1;
+ u.dsOffset = (f << 17) >> 27;
+ u.refinementTemplate = (f >> 15) & 1;
+ if (u.huffman) {
+ const e = (0, n.readUint16)(r, h);
+ h += 2;
+ u.huffmanFS = 3 & e;
+ u.huffmanDS = (e >> 2) & 3;
+ u.huffmanDT = (e >> 4) & 3;
+ u.huffmanRefinementDW = (e >> 6) & 3;
+ u.huffmanRefinementDH = (e >> 8) & 3;
+ u.huffmanRefinementDX = (e >> 10) & 3;
+ u.huffmanRefinementDY = (e >> 12) & 3;
+ u.huffmanRefinementSizeSelector = !!(16384 & e);
+ }
+ if (u.refinement && !u.refinementTemplate) {
+ o = [];
+ for (c = 0; c < 2; c++) {
+ o.push({x: (0, n.readInt8)(r, h), y: (0, n.readInt8)(r, h + 1)});
+ h += 2;
+ }
+ u.refinementAt = o;
+ }
+ u.numberOfSymbolInstances = (0, n.readUint32)(r, h);
+ h += 4;
+ s = [u, a.referredTo, r, h, i];
+ break;
+ case 16:
+ const g = {},
+ p = r[h++];
+ g.mmr = !!(1 & p);
+ g.template = (p >> 1) & 3;
+ g.patternWidth = r[h++];
+ g.patternHeight = r[h++];
+ g.maxPatternIndex = (0, n.readUint32)(r, h);
+ h += 4;
+ s = [g, a.number, r, h, i];
+ break;
+ case 22:
+ case 23:
+ const m = {};
+ m.info = readRegionSegmentInformation(r, h);
+ h += d;
+ const b = r[h++];
+ m.mmr = !!(1 & b);
+ m.template = (b >> 1) & 3;
+ m.enableSkip = !!(8 & b);
+ m.combinationOperator = (b >> 4) & 7;
+ m.defaultPixelValue = (b >> 7) & 1;
+ m.gridWidth = (0, n.readUint32)(r, h);
+ h += 4;
+ m.gridHeight = (0, n.readUint32)(r, h);
+ h += 4;
+ m.gridOffsetX = 4294967295 & (0, n.readUint32)(r, h);
+ h += 4;
+ m.gridOffsetY = 4294967295 & (0, n.readUint32)(r, h);
+ h += 4;
+ m.gridVectorX = (0, n.readUint16)(r, h);
+ h += 2;
+ m.gridVectorY = (0, n.readUint16)(r, h);
+ h += 2;
+ s = [m, a.referredTo, r, h, i];
+ break;
+ case 38:
+ case 39:
+ const y = {};
+ y.info = readRegionSegmentInformation(r, h);
+ h += d;
+ const w = r[h++];
+ y.mmr = !!(1 & w);
+ y.template = (w >> 1) & 3;
+ y.prediction = !!(8 & w);
+ if (!y.mmr) {
+ l = 0 === y.template ? 4 : 1;
+ o = [];
+ for (c = 0; c < l; c++) {
+ o.push({x: (0, n.readInt8)(r, h), y: (0, n.readInt8)(r, h + 1)});
+ h += 2;
+ }
+ y.at = o;
+ }
+ s = [y, r, h, i];
+ break;
+ case 48:
+ const S = {
+ width: (0, n.readUint32)(r, h),
+ height: (0, n.readUint32)(r, h + 4),
+ resolutionX: (0, n.readUint32)(r, h + 8),
+ resolutionY: (0, n.readUint32)(r, h + 12),
+ };
+ 4294967295 === S.height && delete S.height;
+ const x = r[h + 16];
+ (0, n.readUint16)(r, h + 17);
+ S.lossless = !!(1 & x);
+ S.refinement = !!(2 & x);
+ S.defaultPixelValue = (x >> 2) & 1;
+ S.combinationOperator = (x >> 3) & 3;
+ S.requiresBuffer = !!(32 & x);
+ S.combinationOperatorOverride = !!(64 & x);
+ s = [S];
+ break;
+ case 49:
+ case 50:
+ case 51:
+ case 62:
+ break;
+ case 53:
+ s = [a.number, r, h, i];
+ break;
+ default:
+ throw new Jbig2Error(`segment type ${a.typeName}(${a.type}) is not implemented`);
+ }
+ const u = 'on' + a.typeName;
+ u in t && t[u].apply(t, s);
+ }
+ function processSegments(e, t) {
+ for (let a = 0, r = e.length; a < r; a++) processSegment(e[a], t);
+ }
+ class SimpleSegmentVisitor {
+ onPageInformation(e) {
+ this.currentPageInfo = e;
+ const t = (e.width + 7) >> 3,
+ a = new Uint8ClampedArray(t * e.height);
+ e.defaultPixelValue && a.fill(255);
+ this.buffer = a;
+ }
+ drawBitmap(e, t) {
+ const a = this.currentPageInfo,
+ r = e.width,
+ n = e.height,
+ i = (a.width + 7) >> 3,
+ s = a.combinationOperatorOverride ? e.combinationOperator : a.combinationOperator,
+ o = this.buffer,
+ c = 128 >> (7 & e.x);
+ let l,
+ h,
+ u,
+ d,
+ f = e.y * i + (e.x >> 3);
+ switch (s) {
+ case 0:
+ for (l = 0; l < n; l++) {
+ u = c;
+ d = f;
+ for (h = 0; h < r; h++) {
+ t[l][h] && (o[d] |= u);
+ u >>= 1;
+ if (!u) {
+ u = 128;
+ d++;
+ }
+ }
+ f += i;
+ }
+ break;
+ case 2:
+ for (l = 0; l < n; l++) {
+ u = c;
+ d = f;
+ for (h = 0; h < r; h++) {
+ t[l][h] && (o[d] ^= u);
+ u >>= 1;
+ if (!u) {
+ u = 128;
+ d++;
+ }
+ }
+ f += i;
+ }
+ break;
+ default:
+ throw new Jbig2Error(`operator ${s} is not supported`);
+ }
+ }
+ onImmediateGenericRegion(e, t, a, r) {
+ const n = e.info,
+ i = new DecodingContext(t, a, r),
+ s = decodeBitmap(e.mmr, n.width, n.height, e.template, e.prediction, null, e.at, i);
+ this.drawBitmap(n, s);
+ }
+ onImmediateLosslessGenericRegion() {
+ this.onImmediateGenericRegion(...arguments);
+ }
+ onSymbolDictionary(e, t, a, r, i, s) {
+ let o, c;
+ if (e.huffman) {
+ o = (function getSymbolDictionaryHuffmanTables(e, t, a) {
+ let r,
+ n,
+ i,
+ s,
+ o = 0;
+ switch (e.huffmanDHSelector) {
+ case 0:
+ case 1:
+ r = getStandardTable(e.huffmanDHSelector + 4);
+ break;
+ case 3:
+ r = getCustomHuffmanTable(o, t, a);
+ o++;
+ break;
+ default:
+ throw new Jbig2Error('invalid Huffman DH selector');
+ }
+ switch (e.huffmanDWSelector) {
+ case 0:
+ case 1:
+ n = getStandardTable(e.huffmanDWSelector + 2);
+ break;
+ case 3:
+ n = getCustomHuffmanTable(o, t, a);
+ o++;
+ break;
+ default:
+ throw new Jbig2Error('invalid Huffman DW selector');
+ }
+ if (e.bitmapSizeSelector) {
+ i = getCustomHuffmanTable(o, t, a);
+ o++;
+ } else i = getStandardTable(1);
+ s = e.aggregationInstancesSelector ? getCustomHuffmanTable(o, t, a) : getStandardTable(1);
+ return {tableDeltaHeight: r, tableDeltaWidth: n, tableBitmapSize: i, tableAggregateInstances: s};
+ })(e, a, this.customTables);
+ c = new Reader(r, i, s);
+ }
+ let l = this.symbols;
+ l || (this.symbols = l = {});
+ const h = [];
+ for (const e of a) {
+ const t = l[e];
+ t && h.push(...t);
+ }
+ const u = new DecodingContext(r, i, s);
+ l[t] = (function decodeSymbolDictionary(e, t, a, r, i, s, o, c, l, h, u, d) {
+ if (e && t) throw new Jbig2Error('symbol refinement with Huffman is not supported');
+ const f = [];
+ let g = 0,
+ p = (0, n.log2)(a.length + r);
+ const m = u.decoder,
+ b = u.contextCache;
+ let y, w;
+ if (e) {
+ y = getStandardTable(1);
+ w = [];
+ p = Math.max(p, 1);
+ }
+ for (; f.length < r; ) {
+ g += e ? s.tableDeltaHeight.decode(d) : decodeInteger(b, 'IADH', m);
+ let r = 0,
+ n = 0;
+ const i = e ? w.length : 0;
+ for (;;) {
+ const i = e ? s.tableDeltaWidth.decode(d) : decodeInteger(b, 'IADW', m);
+ if (null === i) break;
+ r += i;
+ n += r;
+ let y;
+ if (t) {
+ const n = decodeInteger(b, 'IAAI', m);
+ if (n > 1)
+ y = decodeTextRegion(e, t, r, g, 0, n, 1, a.concat(f), p, 0, 0, 1, 0, s, l, h, u, 0, d);
+ else {
+ const e = decodeIAID(b, m, p),
+ t = decodeInteger(b, 'IARDX', m),
+ n = decodeInteger(b, 'IARDY', m);
+ y = decodeRefinement(r, g, l, e < a.length ? a[e] : f[e - a.length], t, n, !1, h, u);
+ }
+ f.push(y);
+ } else if (e) w.push(r);
+ else {
+ y = decodeBitmap(!1, r, g, o, !1, null, c, u);
+ f.push(y);
+ }
+ }
+ if (e && !t) {
+ const e = s.tableBitmapSize.decode(d);
+ d.byteAlign();
+ let t;
+ if (0 === e) t = readUncompressedBitmap(d, n, g);
+ else {
+ const a = d.end,
+ r = d.position + e;
+ d.end = r;
+ t = decodeMMRBitmap(d, n, g, !1);
+ d.end = a;
+ d.position = r;
+ }
+ const a = w.length;
+ if (i === a - 1) f.push(t);
+ else {
+ let e,
+ r,
+ n,
+ s,
+ o,
+ c = 0;
+ for (e = i; e < a; e++) {
+ s = w[e];
+ n = c + s;
+ o = [];
+ for (r = 0; r < g; r++) o.push(t[r].subarray(c, n));
+ f.push(o);
+ c = n;
+ }
+ }
+ }
+ }
+ const S = [],
+ x = [];
+ let k,
+ C,
+ v = !1;
+ const F = a.length + r;
+ for (; x.length < F; ) {
+ let t = e ? y.decode(d) : decodeInteger(b, 'IAEX', m);
+ for (; t--; ) x.push(v);
+ v = !v;
+ }
+ for (k = 0, C = a.length; k < C; k++) x[k] && S.push(a[k]);
+ for (let e = 0; e < r; k++, e++) x[k] && S.push(f[e]);
+ return S;
+ })(
+ e.huffman,
+ e.refinement,
+ h,
+ e.numberOfNewSymbols,
+ e.numberOfExportedSymbols,
+ o,
+ e.template,
+ e.at,
+ e.refinementTemplate,
+ e.refinementAt,
+ u,
+ c
+ );
+ }
+ onImmediateTextRegion(e, t, a, r, i) {
+ const s = e.info;
+ let o, c;
+ const l = this.symbols,
+ h = [];
+ for (const e of t) {
+ const t = l[e];
+ t && h.push(...t);
+ }
+ const u = (0, n.log2)(h.length);
+ if (e.huffman) {
+ c = new Reader(a, r, i);
+ o = (function getTextRegionHuffmanTables(e, t, a, r, n) {
+ const i = [];
+ for (let e = 0; e <= 34; e++) {
+ const t = n.readBits(4);
+ i.push(new HuffmanLine([e, t, 0, 0]));
+ }
+ const s = new HuffmanTable(i, !1);
+ i.length = 0;
+ for (let e = 0; e < r; ) {
+ const t = s.decode(n);
+ if (t >= 32) {
+ let a, r, s;
+ switch (t) {
+ case 32:
+ if (0 === e) throw new Jbig2Error('no previous value in symbol ID table');
+ r = n.readBits(2) + 3;
+ a = i[e - 1].prefixLength;
+ break;
+ case 33:
+ r = n.readBits(3) + 3;
+ a = 0;
+ break;
+ case 34:
+ r = n.readBits(7) + 11;
+ a = 0;
+ break;
+ default:
+ throw new Jbig2Error('invalid code length in symbol ID table');
+ }
+ for (s = 0; s < r; s++) {
+ i.push(new HuffmanLine([e, a, 0, 0]));
+ e++;
+ }
+ } else {
+ i.push(new HuffmanLine([e, t, 0, 0]));
+ e++;
+ }
+ }
+ n.byteAlign();
+ const o = new HuffmanTable(i, !1);
+ let c,
+ l,
+ h,
+ u = 0;
+ switch (e.huffmanFS) {
+ case 0:
+ case 1:
+ c = getStandardTable(e.huffmanFS + 6);
+ break;
+ case 3:
+ c = getCustomHuffmanTable(u, t, a);
+ u++;
+ break;
+ default:
+ throw new Jbig2Error('invalid Huffman FS selector');
+ }
+ switch (e.huffmanDS) {
+ case 0:
+ case 1:
+ case 2:
+ l = getStandardTable(e.huffmanDS + 8);
+ break;
+ case 3:
+ l = getCustomHuffmanTable(u, t, a);
+ u++;
+ break;
+ default:
+ throw new Jbig2Error('invalid Huffman DS selector');
+ }
+ switch (e.huffmanDT) {
+ case 0:
+ case 1:
+ case 2:
+ h = getStandardTable(e.huffmanDT + 11);
+ break;
+ case 3:
+ h = getCustomHuffmanTable(u, t, a);
+ u++;
+ break;
+ default:
+ throw new Jbig2Error('invalid Huffman DT selector');
+ }
+ if (e.refinement) throw new Jbig2Error('refinement with Huffman is not supported');
+ return {symbolIDTable: o, tableFirstS: c, tableDeltaS: l, tableDeltaT: h};
+ })(e, t, this.customTables, h.length, c);
+ }
+ const d = new DecodingContext(a, r, i),
+ f = decodeTextRegion(
+ e.huffman,
+ e.refinement,
+ s.width,
+ s.height,
+ e.defaultPixelValue,
+ e.numberOfSymbolInstances,
+ e.stripSize,
+ h,
+ u,
+ e.transposed,
+ e.dsOffset,
+ e.referenceCorner,
+ e.combinationOperator,
+ o,
+ e.refinementTemplate,
+ e.refinementAt,
+ d,
+ e.logStripSize,
+ c
+ );
+ this.drawBitmap(s, f);
+ }
+ onImmediateLosslessTextRegion() {
+ this.onImmediateTextRegion(...arguments);
+ }
+ onPatternDictionary(e, t, a, r, n) {
+ let i = this.patterns;
+ i || (this.patterns = i = {});
+ const s = new DecodingContext(a, r, n);
+ i[t] = (function decodePatternDictionary(e, t, a, r, n, i) {
+ const s = [];
+ if (!e) {
+ s.push({x: -t, y: 0});
+ 0 === n && s.push({x: -3, y: -1}, {x: 2, y: -2}, {x: -2, y: -2});
+ }
+ const o = decodeBitmap(e, (r + 1) * t, a, n, !1, null, s, i),
+ c = [];
+ for (let e = 0; e <= r; e++) {
+ const r = [],
+ n = t * e,
+ i = n + t;
+ for (let e = 0; e < a; e++) r.push(o[e].subarray(n, i));
+ c.push(r);
+ }
+ return c;
+ })(e.mmr, e.patternWidth, e.patternHeight, e.maxPatternIndex, e.template, s);
+ }
+ onImmediateHalftoneRegion(e, t, a, r, i) {
+ const s = this.patterns[t[0]],
+ o = e.info,
+ c = new DecodingContext(a, r, i),
+ l = (function decodeHalftoneRegion(e, t, a, r, i, s, o, c, l, h, u, d, f, g, p) {
+ if (o) throw new Jbig2Error('skip is not supported');
+ if (0 !== c) throw new Jbig2Error(`operator "${c}" is not supported in halftone region`);
+ const m = [];
+ let b, y, w;
+ for (b = 0; b < i; b++) {
+ w = new Uint8Array(r);
+ if (s) for (y = 0; y < r; y++) w[y] = s;
+ m.push(w);
+ }
+ const S = t.length,
+ x = t[0],
+ k = x[0].length,
+ C = x.length,
+ v = (0, n.log2)(S),
+ F = [];
+ if (!e) {
+ F.push({x: a <= 1 ? 3 : 2, y: -1});
+ 0 === a && F.push({x: -3, y: -1}, {x: 2, y: -2}, {x: -2, y: -2});
+ }
+ const O = [];
+ let T, M, E, D, N, R, L, j, $, _, U;
+ e && (T = new Reader(p.data, p.start, p.end));
+ for (b = v - 1; b >= 0; b--) {
+ M = e ? decodeMMRBitmap(T, l, h, !0) : decodeBitmap(!1, l, h, a, !1, null, F, p);
+ O[b] = M;
+ }
+ for (E = 0; E < h; E++)
+ for (D = 0; D < l; D++) {
+ N = 0;
+ R = 0;
+ for (y = v - 1; y >= 0; y--) {
+ N ^= O[y][E][D];
+ R |= N << y;
+ }
+ L = t[R];
+ j = (u + E * g + D * f) >> 8;
+ $ = (d + E * f - D * g) >> 8;
+ if (j >= 0 && j + k <= r && $ >= 0 && $ + C <= i)
+ for (b = 0; b < C; b++) {
+ U = m[$ + b];
+ _ = L[b];
+ for (y = 0; y < k; y++) U[j + y] |= _[y];
+ }
+ else {
+ let e, t;
+ for (b = 0; b < C; b++) {
+ t = $ + b;
+ if (!(t < 0 || t >= i)) {
+ U = m[t];
+ _ = L[b];
+ for (y = 0; y < k; y++) {
+ e = j + y;
+ e >= 0 && e < r && (U[e] |= _[y]);
+ }
+ }
+ }
+ }
+ }
+ return m;
+ })(
+ e.mmr,
+ s,
+ e.template,
+ o.width,
+ o.height,
+ e.defaultPixelValue,
+ e.enableSkip,
+ e.combinationOperator,
+ e.gridWidth,
+ e.gridHeight,
+ e.gridOffsetX,
+ e.gridOffsetY,
+ e.gridVectorX,
+ e.gridVectorY,
+ c
+ );
+ this.drawBitmap(o, l);
+ }
+ onImmediateLosslessHalftoneRegion() {
+ this.onImmediateHalftoneRegion(...arguments);
+ }
+ onTables(e, t, a, r) {
+ let i = this.customTables;
+ i || (this.customTables = i = {});
+ i[e] = (function decodeTablesSegment(e, t, a) {
+ const r = e[t],
+ i = 4294967295 & (0, n.readUint32)(e, t + 1),
+ s = 4294967295 & (0, n.readUint32)(e, t + 5),
+ o = new Reader(e, t + 9, a),
+ c = 1 + ((r >> 1) & 7),
+ l = 1 + ((r >> 4) & 7),
+ h = [];
+ let u,
+ d,
+ f = i;
+ do {
+ u = o.readBits(c);
+ d = o.readBits(l);
+ h.push(new HuffmanLine([f, u, d, 0]));
+ f += 1 << d;
+ } while (f < s);
+ u = o.readBits(c);
+ h.push(new HuffmanLine([i - 1, u, 32, 0, 'lower']));
+ u = o.readBits(c);
+ h.push(new HuffmanLine([s, u, 32, 0]));
+ if (1 & r) {
+ u = o.readBits(c);
+ h.push(new HuffmanLine([u, 0]));
+ }
+ return new HuffmanTable(h, !1);
+ })(t, a, r);
+ }
+ }
+ class HuffmanLine {
+ constructor(e) {
+ if (2 === e.length) {
+ this.isOOB = !0;
+ this.rangeLow = 0;
+ this.prefixLength = e[0];
+ this.rangeLength = 0;
+ this.prefixCode = e[1];
+ this.isLowerRange = !1;
+ } else {
+ this.isOOB = !1;
+ this.rangeLow = e[0];
+ this.prefixLength = e[1];
+ this.rangeLength = e[2];
+ this.prefixCode = e[3];
+ this.isLowerRange = 'lower' === e[4];
+ }
+ }
+ }
+ class HuffmanTreeNode {
+ constructor(e) {
+ this.children = [];
+ if (e) {
+ this.isLeaf = !0;
+ this.rangeLength = e.rangeLength;
+ this.rangeLow = e.rangeLow;
+ this.isLowerRange = e.isLowerRange;
+ this.isOOB = e.isOOB;
+ } else this.isLeaf = !1;
+ }
+ buildTree(e, t) {
+ const a = (e.prefixCode >> t) & 1;
+ if (t <= 0) this.children[a] = new HuffmanTreeNode(e);
+ else {
+ let r = this.children[a];
+ r || (this.children[a] = r = new HuffmanTreeNode(null));
+ r.buildTree(e, t - 1);
+ }
+ }
+ decodeNode(e) {
+ if (this.isLeaf) {
+ if (this.isOOB) return null;
+ const t = e.readBits(this.rangeLength);
+ return this.rangeLow + (this.isLowerRange ? -t : t);
+ }
+ const t = this.children[e.readBit()];
+ if (!t) throw new Jbig2Error('invalid Huffman data');
+ return t.decodeNode(e);
+ }
+ }
+ class HuffmanTable {
+ constructor(e, t) {
+ t || this.assignPrefixCodes(e);
+ this.rootNode = new HuffmanTreeNode(null);
+ for (let t = 0, a = e.length; t < a; t++) {
+ const a = e[t];
+ a.prefixLength > 0 && this.rootNode.buildTree(a, a.prefixLength - 1);
+ }
+ }
+ decode(e) {
+ return this.rootNode.decodeNode(e);
+ }
+ assignPrefixCodes(e) {
+ const t = e.length;
+ let a = 0;
+ for (let r = 0; r < t; r++) a = Math.max(a, e[r].prefixLength);
+ const r = new Uint32Array(a + 1);
+ for (let a = 0; a < t; a++) r[e[a].prefixLength]++;
+ let n,
+ i,
+ s,
+ o = 1,
+ c = 0;
+ r[0] = 0;
+ for (; o <= a; ) {
+ c = (c + r[o - 1]) << 1;
+ n = c;
+ i = 0;
+ for (; i < t; ) {
+ s = e[i];
+ if (s.prefixLength === o) {
+ s.prefixCode = n;
+ n++;
+ }
+ i++;
+ }
+ o++;
+ }
+ }
+ }
+ const f = {};
+ function getStandardTable(e) {
+ let t,
+ a = f[e];
+ if (a) return a;
+ switch (e) {
+ case 1:
+ t = [
+ [0, 1, 4, 0],
+ [16, 2, 8, 2],
+ [272, 3, 16, 6],
+ [65808, 3, 32, 7],
+ ];
+ break;
+ case 2:
+ t = [
+ [0, 1, 0, 0],
+ [1, 2, 0, 2],
+ [2, 3, 0, 6],
+ [3, 4, 3, 14],
+ [11, 5, 6, 30],
+ [75, 6, 32, 62],
+ [6, 63],
+ ];
+ break;
+ case 3:
+ t = [
+ [-256, 8, 8, 254],
+ [0, 1, 0, 0],
+ [1, 2, 0, 2],
+ [2, 3, 0, 6],
+ [3, 4, 3, 14],
+ [11, 5, 6, 30],
+ [-257, 8, 32, 255, 'lower'],
+ [75, 7, 32, 126],
+ [6, 62],
+ ];
+ break;
+ case 4:
+ t = [
+ [1, 1, 0, 0],
+ [2, 2, 0, 2],
+ [3, 3, 0, 6],
+ [4, 4, 3, 14],
+ [12, 5, 6, 30],
+ [76, 5, 32, 31],
+ ];
+ break;
+ case 5:
+ t = [
+ [-255, 7, 8, 126],
+ [1, 1, 0, 0],
+ [2, 2, 0, 2],
+ [3, 3, 0, 6],
+ [4, 4, 3, 14],
+ [12, 5, 6, 30],
+ [-256, 7, 32, 127, 'lower'],
+ [76, 6, 32, 62],
+ ];
+ break;
+ case 6:
+ t = [
+ [-2048, 5, 10, 28],
+ [-1024, 4, 9, 8],
+ [-512, 4, 8, 9],
+ [-256, 4, 7, 10],
+ [-128, 5, 6, 29],
+ [-64, 5, 5, 30],
+ [-32, 4, 5, 11],
+ [0, 2, 7, 0],
+ [128, 3, 7, 2],
+ [256, 3, 8, 3],
+ [512, 4, 9, 12],
+ [1024, 4, 10, 13],
+ [-2049, 6, 32, 62, 'lower'],
+ [2048, 6, 32, 63],
+ ];
+ break;
+ case 7:
+ t = [
+ [-1024, 4, 9, 8],
+ [-512, 3, 8, 0],
+ [-256, 4, 7, 9],
+ [-128, 5, 6, 26],
+ [-64, 5, 5, 27],
+ [-32, 4, 5, 10],
+ [0, 4, 5, 11],
+ [32, 5, 5, 28],
+ [64, 5, 6, 29],
+ [128, 4, 7, 12],
+ [256, 3, 8, 1],
+ [512, 3, 9, 2],
+ [1024, 3, 10, 3],
+ [-1025, 5, 32, 30, 'lower'],
+ [2048, 5, 32, 31],
+ ];
+ break;
+ case 8:
+ t = [
+ [-15, 8, 3, 252],
+ [-7, 9, 1, 508],
+ [-5, 8, 1, 253],
+ [-3, 9, 0, 509],
+ [-2, 7, 0, 124],
+ [-1, 4, 0, 10],
+ [0, 2, 1, 0],
+ [2, 5, 0, 26],
+ [3, 6, 0, 58],
+ [4, 3, 4, 4],
+ [20, 6, 1, 59],
+ [22, 4, 4, 11],
+ [38, 4, 5, 12],
+ [70, 5, 6, 27],
+ [134, 5, 7, 28],
+ [262, 6, 7, 60],
+ [390, 7, 8, 125],
+ [646, 6, 10, 61],
+ [-16, 9, 32, 510, 'lower'],
+ [1670, 9, 32, 511],
+ [2, 1],
+ ];
+ break;
+ case 9:
+ t = [
+ [-31, 8, 4, 252],
+ [-15, 9, 2, 508],
+ [-11, 8, 2, 253],
+ [-7, 9, 1, 509],
+ [-5, 7, 1, 124],
+ [-3, 4, 1, 10],
+ [-1, 3, 1, 2],
+ [1, 3, 1, 3],
+ [3, 5, 1, 26],
+ [5, 6, 1, 58],
+ [7, 3, 5, 4],
+ [39, 6, 2, 59],
+ [43, 4, 5, 11],
+ [75, 4, 6, 12],
+ [139, 5, 7, 27],
+ [267, 5, 8, 28],
+ [523, 6, 8, 60],
+ [779, 7, 9, 125],
+ [1291, 6, 11, 61],
+ [-32, 9, 32, 510, 'lower'],
+ [3339, 9, 32, 511],
+ [2, 0],
+ ];
+ break;
+ case 10:
+ t = [
+ [-21, 7, 4, 122],
+ [-5, 8, 0, 252],
+ [-4, 7, 0, 123],
+ [-3, 5, 0, 24],
+ [-2, 2, 2, 0],
+ [2, 5, 0, 25],
+ [3, 6, 0, 54],
+ [4, 7, 0, 124],
+ [5, 8, 0, 253],
+ [6, 2, 6, 1],
+ [70, 5, 5, 26],
+ [102, 6, 5, 55],
+ [134, 6, 6, 56],
+ [198, 6, 7, 57],
+ [326, 6, 8, 58],
+ [582, 6, 9, 59],
+ [1094, 6, 10, 60],
+ [2118, 7, 11, 125],
+ [-22, 8, 32, 254, 'lower'],
+ [4166, 8, 32, 255],
+ [2, 2],
+ ];
+ break;
+ case 11:
+ t = [
+ [1, 1, 0, 0],
+ [2, 2, 1, 2],
+ [4, 4, 0, 12],
+ [5, 4, 1, 13],
+ [7, 5, 1, 28],
+ [9, 5, 2, 29],
+ [13, 6, 2, 60],
+ [17, 7, 2, 122],
+ [21, 7, 3, 123],
+ [29, 7, 4, 124],
+ [45, 7, 5, 125],
+ [77, 7, 6, 126],
+ [141, 7, 32, 127],
+ ];
+ break;
+ case 12:
+ t = [
+ [1, 1, 0, 0],
+ [2, 2, 0, 2],
+ [3, 3, 1, 6],
+ [5, 5, 0, 28],
+ [6, 5, 1, 29],
+ [8, 6, 1, 60],
+ [10, 7, 0, 122],
+ [11, 7, 1, 123],
+ [13, 7, 2, 124],
+ [17, 7, 3, 125],
+ [25, 7, 4, 126],
+ [41, 8, 5, 254],
+ [73, 8, 32, 255],
+ ];
+ break;
+ case 13:
+ t = [
+ [1, 1, 0, 0],
+ [2, 3, 0, 4],
+ [3, 4, 0, 12],
+ [4, 5, 0, 28],
+ [5, 4, 1, 13],
+ [7, 3, 3, 5],
+ [15, 6, 1, 58],
+ [17, 6, 2, 59],
+ [21, 6, 3, 60],
+ [29, 6, 4, 61],
+ [45, 6, 5, 62],
+ [77, 7, 6, 126],
+ [141, 7, 32, 127],
+ ];
+ break;
+ case 14:
+ t = [
+ [-2, 3, 0, 4],
+ [-1, 3, 0, 5],
+ [0, 1, 0, 0],
+ [1, 3, 0, 6],
+ [2, 3, 0, 7],
+ ];
+ break;
+ case 15:
+ t = [
+ [-24, 7, 4, 124],
+ [-8, 6, 2, 60],
+ [-4, 5, 1, 28],
+ [-2, 4, 0, 12],
+ [-1, 3, 0, 4],
+ [0, 1, 0, 0],
+ [1, 3, 0, 5],
+ [2, 4, 0, 13],
+ [3, 5, 1, 29],
+ [5, 6, 2, 61],
+ [9, 7, 4, 125],
+ [-25, 7, 32, 126, 'lower'],
+ [25, 7, 32, 127],
+ ];
+ break;
+ default:
+ throw new Jbig2Error(`standard table B.${e} does not exist`);
+ }
+ for (let e = 0, a = t.length; e < a; e++) t[e] = new HuffmanLine(t[e]);
+ a = new HuffmanTable(t, !0);
+ f[e] = a;
+ return a;
+ }
+ class Reader {
+ constructor(e, t, a) {
+ this.data = e;
+ this.start = t;
+ this.end = a;
+ this.position = t;
+ this.shift = -1;
+ this.currentByte = 0;
+ }
+ readBit() {
+ if (this.shift < 0) {
+ if (this.position >= this.end) throw new Jbig2Error('end of data while reading bit');
+ this.currentByte = this.data[this.position++];
+ this.shift = 7;
+ }
+ const e = (this.currentByte >> this.shift) & 1;
+ this.shift--;
+ return e;
+ }
+ readBits(e) {
+ let t,
+ a = 0;
+ for (t = e - 1; t >= 0; t--) a |= this.readBit() << t;
+ return a;
+ }
+ byteAlign() {
+ this.shift = -1;
+ }
+ next() {
+ return this.position >= this.end ? -1 : this.data[this.position++];
+ }
+ }
+ function getCustomHuffmanTable(e, t, a) {
+ let r = 0;
+ for (let n = 0, i = t.length; n < i; n++) {
+ const i = a[t[n]];
+ if (i) {
+ if (e === r) return i;
+ r++;
+ }
+ }
+ throw new Jbig2Error("can't find custom Huffman table");
+ }
+ function readUncompressedBitmap(e, t, a) {
+ const r = [];
+ for (let n = 0; n < a; n++) {
+ const a = new Uint8Array(t);
+ r.push(a);
+ for (let r = 0; r < t; r++) a[r] = e.readBit();
+ e.byteAlign();
+ }
+ return r;
+ }
+ function decodeMMRBitmap(e, t, a, r) {
+ const n = {K: -1, Columns: t, Rows: a, BlackIs1: !0, EndOfBlock: r},
+ i = new s.CCITTFaxDecoder(e, n),
+ o = [];
+ let c,
+ l = !1;
+ for (let e = 0; e < a; e++) {
+ const e = new Uint8Array(t);
+ o.push(e);
+ let a = -1;
+ for (let r = 0; r < t; r++) {
+ if (a < 0) {
+ c = i.readNextChar();
+ if (-1 === c) {
+ c = 0;
+ l = !0;
+ }
+ a = 7;
+ }
+ e[r] = (c >> a) & 1;
+ a--;
+ }
+ }
+ if (r && !l) {
+ const e = 5;
+ for (let t = 0; t < e && -1 !== i.readNextChar(); t++);
+ }
+ return o;
+ }
+ t.Jbig2Image = class Jbig2Image {
+ parseChunks(e) {
+ return (function parseJbig2Chunks(e) {
+ const t = new SimpleSegmentVisitor();
+ for (let a = 0, r = e.length; a < r; a++) {
+ const r = e[a];
+ processSegments(readSegments({}, r.data, r.start, r.end), t);
+ }
+ return t.buffer;
+ })(e);
+ }
+ parse(e) {
+ throw new Error('Not implemented: Jbig2Image.parse');
+ }
+ };
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ArithmeticDecoder = void 0;
+ const a = [
+ {qe: 22017, nmps: 1, nlps: 1, switchFlag: 1},
+ {qe: 13313, nmps: 2, nlps: 6, switchFlag: 0},
+ {qe: 6145, nmps: 3, nlps: 9, switchFlag: 0},
+ {qe: 2753, nmps: 4, nlps: 12, switchFlag: 0},
+ {qe: 1313, nmps: 5, nlps: 29, switchFlag: 0},
+ {qe: 545, nmps: 38, nlps: 33, switchFlag: 0},
+ {qe: 22017, nmps: 7, nlps: 6, switchFlag: 1},
+ {qe: 21505, nmps: 8, nlps: 14, switchFlag: 0},
+ {qe: 18433, nmps: 9, nlps: 14, switchFlag: 0},
+ {qe: 14337, nmps: 10, nlps: 14, switchFlag: 0},
+ {qe: 12289, nmps: 11, nlps: 17, switchFlag: 0},
+ {qe: 9217, nmps: 12, nlps: 18, switchFlag: 0},
+ {qe: 7169, nmps: 13, nlps: 20, switchFlag: 0},
+ {qe: 5633, nmps: 29, nlps: 21, switchFlag: 0},
+ {qe: 22017, nmps: 15, nlps: 14, switchFlag: 1},
+ {qe: 21505, nmps: 16, nlps: 14, switchFlag: 0},
+ {qe: 20737, nmps: 17, nlps: 15, switchFlag: 0},
+ {qe: 18433, nmps: 18, nlps: 16, switchFlag: 0},
+ {qe: 14337, nmps: 19, nlps: 17, switchFlag: 0},
+ {qe: 13313, nmps: 20, nlps: 18, switchFlag: 0},
+ {qe: 12289, nmps: 21, nlps: 19, switchFlag: 0},
+ {qe: 10241, nmps: 22, nlps: 19, switchFlag: 0},
+ {qe: 9217, nmps: 23, nlps: 20, switchFlag: 0},
+ {qe: 8705, nmps: 24, nlps: 21, switchFlag: 0},
+ {qe: 7169, nmps: 25, nlps: 22, switchFlag: 0},
+ {qe: 6145, nmps: 26, nlps: 23, switchFlag: 0},
+ {qe: 5633, nmps: 27, nlps: 24, switchFlag: 0},
+ {qe: 5121, nmps: 28, nlps: 25, switchFlag: 0},
+ {qe: 4609, nmps: 29, nlps: 26, switchFlag: 0},
+ {qe: 4353, nmps: 30, nlps: 27, switchFlag: 0},
+ {qe: 2753, nmps: 31, nlps: 28, switchFlag: 0},
+ {qe: 2497, nmps: 32, nlps: 29, switchFlag: 0},
+ {qe: 2209, nmps: 33, nlps: 30, switchFlag: 0},
+ {qe: 1313, nmps: 34, nlps: 31, switchFlag: 0},
+ {qe: 1089, nmps: 35, nlps: 32, switchFlag: 0},
+ {qe: 673, nmps: 36, nlps: 33, switchFlag: 0},
+ {qe: 545, nmps: 37, nlps: 34, switchFlag: 0},
+ {qe: 321, nmps: 38, nlps: 35, switchFlag: 0},
+ {qe: 273, nmps: 39, nlps: 36, switchFlag: 0},
+ {qe: 133, nmps: 40, nlps: 37, switchFlag: 0},
+ {qe: 73, nmps: 41, nlps: 38, switchFlag: 0},
+ {qe: 37, nmps: 42, nlps: 39, switchFlag: 0},
+ {qe: 21, nmps: 43, nlps: 40, switchFlag: 0},
+ {qe: 9, nmps: 44, nlps: 41, switchFlag: 0},
+ {qe: 5, nmps: 45, nlps: 42, switchFlag: 0},
+ {qe: 1, nmps: 45, nlps: 43, switchFlag: 0},
+ {qe: 22017, nmps: 46, nlps: 46, switchFlag: 0},
+ ];
+ t.ArithmeticDecoder = class ArithmeticDecoder {
+ constructor(e, t, a) {
+ this.data = e;
+ this.bp = t;
+ this.dataEnd = a;
+ this.chigh = e[t];
+ this.clow = 0;
+ this.byteIn();
+ this.chigh = ((this.chigh << 7) & 65535) | ((this.clow >> 9) & 127);
+ this.clow = (this.clow << 7) & 65535;
+ this.ct -= 7;
+ this.a = 32768;
+ }
+ byteIn() {
+ const e = this.data;
+ let t = this.bp;
+ if (255 === e[t])
+ if (e[t + 1] > 143) {
+ this.clow += 65280;
+ this.ct = 8;
+ } else {
+ t++;
+ this.clow += e[t] << 9;
+ this.ct = 7;
+ this.bp = t;
+ }
+ else {
+ t++;
+ this.clow += t < this.dataEnd ? e[t] << 8 : 65280;
+ this.ct = 8;
+ this.bp = t;
+ }
+ if (this.clow > 65535) {
+ this.chigh += this.clow >> 16;
+ this.clow &= 65535;
+ }
+ }
+ readBit(e, t) {
+ let r = e[t] >> 1,
+ n = 1 & e[t];
+ const i = a[r],
+ s = i.qe;
+ let o,
+ c = this.a - s;
+ if (this.chigh < s)
+ if (c < s) {
+ c = s;
+ o = n;
+ r = i.nmps;
+ } else {
+ c = s;
+ o = 1 ^ n;
+ 1 === i.switchFlag && (n = o);
+ r = i.nlps;
+ }
+ else {
+ this.chigh -= s;
+ if (0 != (32768 & c)) {
+ this.a = c;
+ return n;
+ }
+ if (c < s) {
+ o = 1 ^ n;
+ 1 === i.switchFlag && (n = o);
+ r = i.nlps;
+ } else {
+ o = n;
+ r = i.nmps;
+ }
+ }
+ do {
+ 0 === this.ct && this.byteIn();
+ c <<= 1;
+ this.chigh = ((this.chigh << 1) & 65535) | ((this.clow >> 15) & 1);
+ this.clow = (this.clow << 1) & 65535;
+ this.ct--;
+ } while (0 == (32768 & c));
+ this.a = c;
+ e[t] = (r << 1) | n;
+ return o;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.JpegStream = void 0;
+ var r = a(19),
+ n = a(5),
+ i = a(28),
+ s = a(2);
+ class JpegStream extends r.DecodeStream {
+ constructor(e, t, a) {
+ let r;
+ for (; -1 !== (r = e.getByte()); )
+ if (255 === r) {
+ e.skip(-1);
+ break;
+ }
+ super(t);
+ this.stream = e;
+ this.dict = e.dict;
+ this.maybeLength = t;
+ this.params = a;
+ }
+ get bytes() {
+ return (0, s.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
+ }
+ ensureBuffer(e) {}
+ readBlock() {
+ if (this.eof) return;
+ const e = {decodeTransform: void 0, colorTransform: void 0},
+ t = this.dict.getArray('D', 'Decode');
+ if (this.forceRGB && Array.isArray(t)) {
+ const a = this.dict.get('BPC', 'BitsPerComponent') || 8,
+ r = t.length,
+ n = new Int32Array(r);
+ let i = !1;
+ const s = (1 << a) - 1;
+ for (let e = 0; e < r; e += 2) {
+ n[e] = (256 * (t[e + 1] - t[e])) | 0;
+ n[e + 1] = (t[e] * s) | 0;
+ (256 === n[e] && 0 === n[e + 1]) || (i = !0);
+ }
+ i && (e.decodeTransform = n);
+ }
+ if (this.params instanceof n.Dict) {
+ const t = this.params.get('ColorTransform');
+ Number.isInteger(t) && (e.colorTransform = t);
+ }
+ const a = new i.JpegImage(e);
+ a.parse(this.bytes);
+ const r = a.getData({
+ width: this.drawWidth,
+ height: this.drawHeight,
+ forceRGB: this.forceRGB,
+ isSourcePDF: !0,
+ });
+ this.buffer = r;
+ this.bufferLength = r.length;
+ this.eof = !0;
+ }
+ }
+ t.JpegStream = JpegStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.JpegImage = void 0;
+ var r = a(2),
+ n = a(6);
+ class JpegError extends r.BaseException {
+ constructor(e) {
+ super(`JPEG error: ${e}`, 'JpegError');
+ }
+ }
+ class DNLMarkerError extends r.BaseException {
+ constructor(e, t) {
+ super(e, 'DNLMarkerError');
+ this.scanLines = t;
+ }
+ }
+ class EOIMarkerError extends r.BaseException {
+ constructor(e) {
+ super(e, 'EOIMarkerError');
+ }
+ }
+ const i = new Uint8Array([
+ 0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7,
+ 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39,
+ 46, 53, 60, 61, 54, 47, 55, 62, 63,
+ ]),
+ s = 4017,
+ o = 799,
+ c = 3406,
+ l = 2276,
+ h = 1567,
+ u = 3784,
+ d = 5793,
+ f = 2896;
+ function buildHuffmanTable(e, t) {
+ let a,
+ r,
+ n = 0,
+ i = 16;
+ for (; i > 0 && !e[i - 1]; ) i--;
+ const s = [{children: [], index: 0}];
+ let o,
+ c = s[0];
+ for (a = 0; a < i; a++) {
+ for (r = 0; r < e[a]; r++) {
+ c = s.pop();
+ c.children[c.index] = t[n];
+ for (; c.index > 0; ) c = s.pop();
+ c.index++;
+ s.push(c);
+ for (; s.length <= a; ) {
+ s.push((o = {children: [], index: 0}));
+ c.children[c.index] = o.children;
+ c = o;
+ }
+ n++;
+ }
+ if (a + 1 < i) {
+ s.push((o = {children: [], index: 0}));
+ c.children[c.index] = o.children;
+ c = o;
+ }
+ }
+ return s[0].children;
+ }
+ function getBlockBufferOffset(e, t, a) {
+ return 64 * ((e.blocksPerLine + 1) * t + a);
+ }
+ function decodeScan(e, t, a, s, o, c, l, h, u, d = !1) {
+ const f = a.mcusPerLine,
+ g = a.progressive,
+ p = t;
+ let m = 0,
+ b = 0;
+ function readBit() {
+ if (b > 0) {
+ b--;
+ return (m >> b) & 1;
+ }
+ m = e[t++];
+ if (255 === m) {
+ const r = e[t++];
+ if (r) {
+ if (220 === r && d) {
+ t += 2;
+ const r = (0, n.readUint16)(e, t);
+ t += 2;
+ if (r > 0 && r !== a.scanLines)
+ throw new DNLMarkerError('Found DNL marker (0xFFDC) while parsing scan data', r);
+ } else if (217 === r) {
+ if (d) {
+ const e = x * (8 === a.precision ? 8 : 0);
+ if (e > 0 && Math.round(a.scanLines / e) >= 10)
+ throw new DNLMarkerError(
+ 'Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter',
+ e
+ );
+ }
+ throw new EOIMarkerError('Found EOI marker (0xFFD9) while parsing scan data');
+ }
+ throw new JpegError(`unexpected marker ${((m << 8) | r).toString(16)}`);
+ }
+ }
+ b = 7;
+ return m >>> 7;
+ }
+ function decodeHuffman(e) {
+ let t = e;
+ for (;;) {
+ t = t[readBit()];
+ switch (typeof t) {
+ case 'number':
+ return t;
+ case 'object':
+ continue;
+ }
+ throw new JpegError('invalid huffman sequence');
+ }
+ }
+ function receive(e) {
+ let t = 0;
+ for (; e > 0; ) {
+ t = (t << 1) | readBit();
+ e--;
+ }
+ return t;
+ }
+ function receiveAndExtend(e) {
+ if (1 === e) return 1 === readBit() ? 1 : -1;
+ const t = receive(e);
+ return t >= 1 << (e - 1) ? t : t + (-1 << e) + 1;
+ }
+ let y = 0;
+ let w,
+ S = 0;
+ let x = 0;
+ function decodeMcu(e, t, a, r, n) {
+ const i = a % f;
+ x = ((a / f) | 0) * e.v + r;
+ const s = i * e.h + n;
+ t(e, getBlockBufferOffset(e, x, s));
+ }
+ function decodeBlock(e, t, a) {
+ x = (a / e.blocksPerLine) | 0;
+ const r = a % e.blocksPerLine;
+ t(e, getBlockBufferOffset(e, x, r));
+ }
+ const k = s.length;
+ let C, v, F, O, T, M;
+ M = g
+ ? 0 === c
+ ? 0 === h
+ ? function decodeDCFirst(e, t) {
+ const a = decodeHuffman(e.huffmanTableDC),
+ r = 0 === a ? 0 : receiveAndExtend(a) << u;
+ e.blockData[t] = e.pred += r;
+ }
+ : function decodeDCSuccessive(e, t) {
+ e.blockData[t] |= readBit() << u;
+ }
+ : 0 === h
+ ? function decodeACFirst(e, t) {
+ if (y > 0) {
+ y--;
+ return;
+ }
+ let a = c;
+ const r = l;
+ for (; a <= r; ) {
+ const r = decodeHuffman(e.huffmanTableAC),
+ n = 15 & r,
+ s = r >> 4;
+ if (0 === n) {
+ if (s < 15) {
+ y = receive(s) + (1 << s) - 1;
+ break;
+ }
+ a += 16;
+ continue;
+ }
+ a += s;
+ const o = i[a];
+ e.blockData[t + o] = receiveAndExtend(n) * (1 << u);
+ a++;
+ }
+ }
+ : function decodeACSuccessive(e, t) {
+ let a = c;
+ const r = l;
+ let n,
+ s,
+ o = 0;
+ for (; a <= r; ) {
+ const r = t + i[a],
+ c = e.blockData[r] < 0 ? -1 : 1;
+ switch (S) {
+ case 0:
+ s = decodeHuffman(e.huffmanTableAC);
+ n = 15 & s;
+ o = s >> 4;
+ if (0 === n)
+ if (o < 15) {
+ y = receive(o) + (1 << o);
+ S = 4;
+ } else {
+ o = 16;
+ S = 1;
+ }
+ else {
+ if (1 !== n) throw new JpegError('invalid ACn encoding');
+ w = receiveAndExtend(n);
+ S = o ? 2 : 3;
+ }
+ continue;
+ case 1:
+ case 2:
+ if (e.blockData[r]) e.blockData[r] += c * (readBit() << u);
+ else {
+ o--;
+ 0 === o && (S = 2 === S ? 3 : 0);
+ }
+ break;
+ case 3:
+ if (e.blockData[r]) e.blockData[r] += c * (readBit() << u);
+ else {
+ e.blockData[r] = w << u;
+ S = 0;
+ }
+ break;
+ case 4:
+ e.blockData[r] && (e.blockData[r] += c * (readBit() << u));
+ }
+ a++;
+ }
+ if (4 === S) {
+ y--;
+ 0 === y && (S = 0);
+ }
+ }
+ : function decodeBaseline(e, t) {
+ const a = decodeHuffman(e.huffmanTableDC),
+ r = 0 === a ? 0 : receiveAndExtend(a);
+ e.blockData[t] = e.pred += r;
+ let n = 1;
+ for (; n < 64; ) {
+ const a = decodeHuffman(e.huffmanTableAC),
+ r = 15 & a,
+ s = a >> 4;
+ if (0 === r) {
+ if (s < 15) break;
+ n += 16;
+ continue;
+ }
+ n += s;
+ const o = i[n];
+ e.blockData[t + o] = receiveAndExtend(r);
+ n++;
+ }
+ };
+ let E,
+ D,
+ N,
+ R,
+ L = 0;
+ D = 1 === k ? s[0].blocksPerLine * s[0].blocksPerColumn : f * a.mcusPerColumn;
+ for (; L <= D; ) {
+ const a = o ? Math.min(D - L, o) : D;
+ if (a > 0) {
+ for (v = 0; v < k; v++) s[v].pred = 0;
+ y = 0;
+ if (1 === k) {
+ C = s[0];
+ for (T = 0; T < a; T++) {
+ decodeBlock(C, M, L);
+ L++;
+ }
+ } else
+ for (T = 0; T < a; T++) {
+ for (v = 0; v < k; v++) {
+ C = s[v];
+ N = C.h;
+ R = C.v;
+ for (F = 0; F < R; F++) for (O = 0; O < N; O++) decodeMcu(C, M, L, F, O);
+ }
+ L++;
+ }
+ }
+ b = 0;
+ E = findNextFileMarker(e, t);
+ if (!E) break;
+ if (E.invalid) {
+ const e = a > 0 ? 'unexpected' : 'excessive';
+ (0, r.warn)(`decodeScan - ${e} MCU data, current marker is: ${E.invalid}`);
+ t = E.offset;
+ }
+ if (!(E.marker >= 65488 && E.marker <= 65495)) break;
+ t += 2;
+ }
+ return t - p;
+ }
+ function quantizeAndInverse(e, t, a) {
+ const r = e.quantizationTable,
+ n = e.blockData;
+ let i, g, p, m, b, y, w, S, x, k, C, v, F, O, T, M, E;
+ if (!r) throw new JpegError('missing required Quantization Table.');
+ for (let e = 0; e < 64; e += 8) {
+ x = n[t + e];
+ k = n[t + e + 1];
+ C = n[t + e + 2];
+ v = n[t + e + 3];
+ F = n[t + e + 4];
+ O = n[t + e + 5];
+ T = n[t + e + 6];
+ M = n[t + e + 7];
+ x *= r[e];
+ if (0 != (k | C | v | F | O | T | M)) {
+ k *= r[e + 1];
+ C *= r[e + 2];
+ v *= r[e + 3];
+ F *= r[e + 4];
+ O *= r[e + 5];
+ T *= r[e + 6];
+ M *= r[e + 7];
+ i = (d * x + 128) >> 8;
+ g = (d * F + 128) >> 8;
+ p = C;
+ m = T;
+ b = (f * (k - M) + 128) >> 8;
+ S = (f * (k + M) + 128) >> 8;
+ y = v << 4;
+ w = O << 4;
+ i = (i + g + 1) >> 1;
+ g = i - g;
+ E = (p * u + m * h + 128) >> 8;
+ p = (p * h - m * u + 128) >> 8;
+ m = E;
+ b = (b + w + 1) >> 1;
+ w = b - w;
+ S = (S + y + 1) >> 1;
+ y = S - y;
+ i = (i + m + 1) >> 1;
+ m = i - m;
+ g = (g + p + 1) >> 1;
+ p = g - p;
+ E = (b * l + S * c + 2048) >> 12;
+ b = (b * c - S * l + 2048) >> 12;
+ S = E;
+ E = (y * o + w * s + 2048) >> 12;
+ y = (y * s - w * o + 2048) >> 12;
+ w = E;
+ a[e] = i + S;
+ a[e + 7] = i - S;
+ a[e + 1] = g + w;
+ a[e + 6] = g - w;
+ a[e + 2] = p + y;
+ a[e + 5] = p - y;
+ a[e + 3] = m + b;
+ a[e + 4] = m - b;
+ } else {
+ E = (d * x + 512) >> 10;
+ a[e] = E;
+ a[e + 1] = E;
+ a[e + 2] = E;
+ a[e + 3] = E;
+ a[e + 4] = E;
+ a[e + 5] = E;
+ a[e + 6] = E;
+ a[e + 7] = E;
+ }
+ }
+ for (let e = 0; e < 8; ++e) {
+ x = a[e];
+ k = a[e + 8];
+ C = a[e + 16];
+ v = a[e + 24];
+ F = a[e + 32];
+ O = a[e + 40];
+ T = a[e + 48];
+ M = a[e + 56];
+ if (0 != (k | C | v | F | O | T | M)) {
+ i = (d * x + 2048) >> 12;
+ g = (d * F + 2048) >> 12;
+ p = C;
+ m = T;
+ b = (f * (k - M) + 2048) >> 12;
+ S = (f * (k + M) + 2048) >> 12;
+ y = v;
+ w = O;
+ i = 4112 + ((i + g + 1) >> 1);
+ g = i - g;
+ E = (p * u + m * h + 2048) >> 12;
+ p = (p * h - m * u + 2048) >> 12;
+ m = E;
+ b = (b + w + 1) >> 1;
+ w = b - w;
+ S = (S + y + 1) >> 1;
+ y = S - y;
+ i = (i + m + 1) >> 1;
+ m = i - m;
+ g = (g + p + 1) >> 1;
+ p = g - p;
+ E = (b * l + S * c + 2048) >> 12;
+ b = (b * c - S * l + 2048) >> 12;
+ S = E;
+ E = (y * o + w * s + 2048) >> 12;
+ y = (y * s - w * o + 2048) >> 12;
+ w = E;
+ x = i + S;
+ M = i - S;
+ k = g + w;
+ T = g - w;
+ C = p + y;
+ O = p - y;
+ v = m + b;
+ F = m - b;
+ x < 16 ? (x = 0) : x >= 4080 ? (x = 255) : (x >>= 4);
+ k < 16 ? (k = 0) : k >= 4080 ? (k = 255) : (k >>= 4);
+ C < 16 ? (C = 0) : C >= 4080 ? (C = 255) : (C >>= 4);
+ v < 16 ? (v = 0) : v >= 4080 ? (v = 255) : (v >>= 4);
+ F < 16 ? (F = 0) : F >= 4080 ? (F = 255) : (F >>= 4);
+ O < 16 ? (O = 0) : O >= 4080 ? (O = 255) : (O >>= 4);
+ T < 16 ? (T = 0) : T >= 4080 ? (T = 255) : (T >>= 4);
+ M < 16 ? (M = 0) : M >= 4080 ? (M = 255) : (M >>= 4);
+ n[t + e] = x;
+ n[t + e + 8] = k;
+ n[t + e + 16] = C;
+ n[t + e + 24] = v;
+ n[t + e + 32] = F;
+ n[t + e + 40] = O;
+ n[t + e + 48] = T;
+ n[t + e + 56] = M;
+ } else {
+ E = (d * x + 8192) >> 14;
+ E = E < -2040 ? 0 : E >= 2024 ? 255 : (E + 2056) >> 4;
+ n[t + e] = E;
+ n[t + e + 8] = E;
+ n[t + e + 16] = E;
+ n[t + e + 24] = E;
+ n[t + e + 32] = E;
+ n[t + e + 40] = E;
+ n[t + e + 48] = E;
+ n[t + e + 56] = E;
+ }
+ }
+ }
+ function buildComponentData(e, t) {
+ const a = t.blocksPerLine,
+ r = t.blocksPerColumn,
+ n = new Int16Array(64);
+ for (let e = 0; e < r; e++)
+ for (let r = 0; r < a; r++) {
+ quantizeAndInverse(t, getBlockBufferOffset(t, e, r), n);
+ }
+ return t.blockData;
+ }
+ function findNextFileMarker(e, t, a = t) {
+ const r = e.length - 1;
+ let i = a < t ? a : t;
+ if (t >= r) return null;
+ const s = (0, n.readUint16)(e, t);
+ if (s >= 65472 && s <= 65534) return {invalid: null, marker: s, offset: t};
+ let o = (0, n.readUint16)(e, i);
+ for (; !(o >= 65472 && o <= 65534); ) {
+ if (++i >= r) return null;
+ o = (0, n.readUint16)(e, i);
+ }
+ return {invalid: s.toString(16), marker: o, offset: i};
+ }
+ t.JpegImage = class JpegImage {
+ constructor({decodeTransform: e = null, colorTransform: t = -1} = {}) {
+ this._decodeTransform = e;
+ this._colorTransform = t;
+ }
+ parse(e, {dnlScanLines: t = null} = {}) {
+ function readDataBlock() {
+ const t = (0, n.readUint16)(e, o);
+ o += 2;
+ let a = o + t - 2;
+ const i = findNextFileMarker(e, a, o);
+ if (i && i.invalid) {
+ (0, r.warn)('readDataBlock - incorrect length, current marker is: ' + i.invalid);
+ a = i.offset;
+ }
+ const s = e.subarray(o, a);
+ o += s.length;
+ return s;
+ }
+ function prepareComponents(e) {
+ const t = Math.ceil(e.samplesPerLine / 8 / e.maxH),
+ a = Math.ceil(e.scanLines / 8 / e.maxV);
+ for (let r = 0, n = e.components.length; r < n; r++) {
+ const n = e.components[r],
+ i = Math.ceil((Math.ceil(e.samplesPerLine / 8) * n.h) / e.maxH),
+ s = Math.ceil((Math.ceil(e.scanLines / 8) * n.v) / e.maxV),
+ o = t * n.h,
+ c = 64 * (a * n.v) * (o + 1);
+ n.blockData = new Int16Array(c);
+ n.blocksPerLine = i;
+ n.blocksPerColumn = s;
+ }
+ e.mcusPerLine = t;
+ e.mcusPerColumn = a;
+ }
+ let a,
+ s,
+ o = 0,
+ c = null,
+ l = null,
+ h = 0;
+ const u = [],
+ d = [],
+ f = [];
+ let g = (0, n.readUint16)(e, o);
+ o += 2;
+ if (65496 !== g) throw new JpegError('SOI not found');
+ g = (0, n.readUint16)(e, o);
+ o += 2;
+ e: for (; 65497 !== g; ) {
+ let p, m, b;
+ switch (g) {
+ case 65504:
+ case 65505:
+ case 65506:
+ case 65507:
+ case 65508:
+ case 65509:
+ case 65510:
+ case 65511:
+ case 65512:
+ case 65513:
+ case 65514:
+ case 65515:
+ case 65516:
+ case 65517:
+ case 65518:
+ case 65519:
+ case 65534:
+ const y = readDataBlock();
+ 65504 === g &&
+ 74 === y[0] &&
+ 70 === y[1] &&
+ 73 === y[2] &&
+ 70 === y[3] &&
+ 0 === y[4] &&
+ (c = {
+ version: {major: y[5], minor: y[6]},
+ densityUnits: y[7],
+ xDensity: (y[8] << 8) | y[9],
+ yDensity: (y[10] << 8) | y[11],
+ thumbWidth: y[12],
+ thumbHeight: y[13],
+ thumbData: y.subarray(14, 14 + 3 * y[12] * y[13]),
+ });
+ 65518 === g &&
+ 65 === y[0] &&
+ 100 === y[1] &&
+ 111 === y[2] &&
+ 98 === y[3] &&
+ 101 === y[4] &&
+ (l = {
+ version: (y[5] << 8) | y[6],
+ flags0: (y[7] << 8) | y[8],
+ flags1: (y[9] << 8) | y[10],
+ transformCode: y[11],
+ });
+ break;
+ case 65499:
+ const w = (0, n.readUint16)(e, o);
+ o += 2;
+ const S = w + o - 2;
+ let x;
+ for (; o < S; ) {
+ const t = e[o++],
+ a = new Uint16Array(64);
+ if (t >> 4 == 0)
+ for (m = 0; m < 64; m++) {
+ x = i[m];
+ a[x] = e[o++];
+ }
+ else {
+ if (t >> 4 != 1) throw new JpegError('DQT - invalid table spec');
+ for (m = 0; m < 64; m++) {
+ x = i[m];
+ a[x] = (0, n.readUint16)(e, o);
+ o += 2;
+ }
+ }
+ u[15 & t] = a;
+ }
+ break;
+ case 65472:
+ case 65473:
+ case 65474:
+ if (a) throw new JpegError('Only single frame JPEGs supported');
+ o += 2;
+ a = {};
+ a.extended = 65473 === g;
+ a.progressive = 65474 === g;
+ a.precision = e[o++];
+ const k = (0, n.readUint16)(e, o);
+ o += 2;
+ a.scanLines = t || k;
+ a.samplesPerLine = (0, n.readUint16)(e, o);
+ o += 2;
+ a.components = [];
+ a.componentIds = {};
+ const C = e[o++];
+ let v = 0,
+ F = 0;
+ for (p = 0; p < C; p++) {
+ const t = e[o],
+ r = e[o + 1] >> 4,
+ n = 15 & e[o + 1];
+ v < r && (v = r);
+ F < n && (F = n);
+ const i = e[o + 2];
+ b = a.components.push({h: r, v: n, quantizationId: i, quantizationTable: null});
+ a.componentIds[t] = b - 1;
+ o += 3;
+ }
+ a.maxH = v;
+ a.maxV = F;
+ prepareComponents(a);
+ break;
+ case 65476:
+ const O = (0, n.readUint16)(e, o);
+ o += 2;
+ for (p = 2; p < O; ) {
+ const t = e[o++],
+ a = new Uint8Array(16);
+ let r = 0;
+ for (m = 0; m < 16; m++, o++) r += a[m] = e[o];
+ const n = new Uint8Array(r);
+ for (m = 0; m < r; m++, o++) n[m] = e[o];
+ p += 17 + r;
+ (t >> 4 == 0 ? f : d)[15 & t] = buildHuffmanTable(a, n);
+ }
+ break;
+ case 65501:
+ o += 2;
+ s = (0, n.readUint16)(e, o);
+ o += 2;
+ break;
+ case 65498:
+ const T = 1 == ++h && !t;
+ o += 2;
+ const M = e[o++],
+ E = [];
+ for (p = 0; p < M; p++) {
+ const t = e[o++],
+ r = a.componentIds[t],
+ n = a.components[r];
+ n.index = t;
+ const i = e[o++];
+ n.huffmanTableDC = f[i >> 4];
+ n.huffmanTableAC = d[15 & i];
+ E.push(n);
+ }
+ const D = e[o++],
+ N = e[o++],
+ R = e[o++];
+ try {
+ const t = decodeScan(e, o, a, E, s, D, N, R >> 4, 15 & R, T);
+ o += t;
+ } catch (t) {
+ if (t instanceof DNLMarkerError) {
+ (0, r.warn)(`${t.message} -- attempting to re-parse the JPEG image.`);
+ return this.parse(e, {dnlScanLines: t.scanLines});
+ }
+ if (t instanceof EOIMarkerError) {
+ (0, r.warn)(`${t.message} -- ignoring the rest of the image data.`);
+ break e;
+ }
+ throw t;
+ }
+ break;
+ case 65500:
+ o += 4;
+ break;
+ case 65535:
+ 255 !== e[o] && o--;
+ break;
+ default:
+ const L = findNextFileMarker(e, o - 2, o - 3);
+ if (L && L.invalid) {
+ (0, r.warn)('JpegImage.parse - unexpected data, current marker is: ' + L.invalid);
+ o = L.offset;
+ break;
+ }
+ if (!L || o >= e.length - 1) {
+ (0, r.warn)(
+ 'JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).'
+ );
+ break e;
+ }
+ throw new JpegError('JpegImage.parse - unknown marker: ' + g.toString(16));
+ }
+ g = (0, n.readUint16)(e, o);
+ o += 2;
+ }
+ this.width = a.samplesPerLine;
+ this.height = a.scanLines;
+ this.jfif = c;
+ this.adobe = l;
+ this.components = [];
+ for (let e = 0, t = a.components.length; e < t; e++) {
+ const t = a.components[e],
+ r = u[t.quantizationId];
+ r && (t.quantizationTable = r);
+ this.components.push({
+ index: t.index,
+ output: buildComponentData(0, t),
+ scaleX: t.h / a.maxH,
+ scaleY: t.v / a.maxV,
+ blocksPerLine: t.blocksPerLine,
+ blocksPerColumn: t.blocksPerColumn,
+ });
+ }
+ this.numComponents = this.components.length;
+ }
+ _getLinearizedBlockData(e, t, a = !1) {
+ const r = this.width / e,
+ n = this.height / t;
+ let i,
+ s,
+ o,
+ c,
+ l,
+ h,
+ u,
+ d,
+ f,
+ g,
+ p,
+ m = 0;
+ const b = this.components.length,
+ y = e * t * b,
+ w = new Uint8ClampedArray(y),
+ S = new Uint32Array(e),
+ x = 4294967288;
+ let k;
+ for (u = 0; u < b; u++) {
+ i = this.components[u];
+ s = i.scaleX * r;
+ o = i.scaleY * n;
+ m = u;
+ p = i.output;
+ c = (i.blocksPerLine + 1) << 3;
+ if (s !== k) {
+ for (l = 0; l < e; l++) {
+ d = 0 | (l * s);
+ S[l] = ((d & x) << 3) | (7 & d);
+ }
+ k = s;
+ }
+ for (h = 0; h < t; h++) {
+ d = 0 | (h * o);
+ g = (c * (d & x)) | ((7 & d) << 3);
+ for (l = 0; l < e; l++) {
+ w[m] = p[g + S[l]];
+ m += b;
+ }
+ }
+ }
+ let C = this._decodeTransform;
+ a || 4 !== b || C || (C = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]));
+ if (C)
+ for (u = 0; u < y; ) for (d = 0, f = 0; d < b; d++, u++, f += 2) w[u] = ((w[u] * C[f]) >> 8) + C[f + 1];
+ return w;
+ }
+ get _isColorConversionNeeded() {
+ return this.adobe
+ ? !!this.adobe.transformCode
+ : 3 === this.numComponents
+ ? 0 !== this._colorTransform &&
+ (82 !== this.components[0].index ||
+ 71 !== this.components[1].index ||
+ 66 !== this.components[2].index)
+ : 1 === this._colorTransform;
+ }
+ _convertYccToRgb(e) {
+ let t, a, r;
+ for (let n = 0, i = e.length; n < i; n += 3) {
+ t = e[n];
+ a = e[n + 1];
+ r = e[n + 2];
+ e[n] = t - 179.456 + 1.402 * r;
+ e[n + 1] = t + 135.459 - 0.344 * a - 0.714 * r;
+ e[n + 2] = t - 226.816 + 1.772 * a;
+ }
+ return e;
+ }
+ _convertYcckToRgb(e) {
+ let t,
+ a,
+ r,
+ n,
+ i = 0;
+ for (let s = 0, o = e.length; s < o; s += 4) {
+ t = e[s];
+ a = e[s + 1];
+ r = e[s + 2];
+ n = e[s + 3];
+ e[i++] =
+ a *
+ (-660635669420364e-19 * a +
+ 0.000437130475926232 * r -
+ 54080610064599e-18 * t +
+ 0.00048449797120281 * n -
+ 0.154362151871126) -
+ 122.67195406894 +
+ r *
+ (-0.000957964378445773 * r +
+ 0.000817076911346625 * t -
+ 0.00477271405408747 * n +
+ 1.53380253221734) +
+ t * (0.000961250184130688 * t - 0.00266257332283933 * n + 0.48357088451265) +
+ n * (-0.000336197177618394 * n + 0.484791561490776);
+ e[i++] =
+ 107.268039397724 +
+ a *
+ (219927104525741e-19 * a -
+ 0.000640992018297945 * r +
+ 0.000659397001245577 * t +
+ 0.000426105652938837 * n -
+ 0.176491792462875) +
+ r *
+ (-0.000778269941513683 * r +
+ 0.00130872261408275 * t +
+ 0.000770482631801132 * n -
+ 0.151051492775562) +
+ t * (0.00126935368114843 * t - 0.00265090189010898 * n + 0.25802910206845) +
+ n * (-0.000318913117588328 * n - 0.213742400323665);
+ e[i++] =
+ a *
+ (-0.000570115196973677 * a -
+ 263409051004589e-19 * r +
+ 0.0020741088115012 * t -
+ 0.00288260236853442 * n +
+ 0.814272968359295) -
+ 20.810012546947 +
+ r *
+ (-153496057440975e-19 * r -
+ 0.000132689043961446 * t +
+ 0.000560833691242812 * n -
+ 0.195152027534049) +
+ t * (0.00174418132927582 * t - 0.00255243321439347 * n + 0.116935020465145) +
+ n * (-0.000343531996510555 * n + 0.24165260232407);
+ }
+ return e.subarray(0, i);
+ }
+ _convertYcckToCmyk(e) {
+ let t, a, r;
+ for (let n = 0, i = e.length; n < i; n += 4) {
+ t = e[n];
+ a = e[n + 1];
+ r = e[n + 2];
+ e[n] = 434.456 - t - 1.402 * r;
+ e[n + 1] = 119.541 - t + 0.344 * a + 0.714 * r;
+ e[n + 2] = 481.816 - t - 1.772 * a;
+ }
+ return e;
+ }
+ _convertCmykToRgb(e) {
+ let t,
+ a,
+ r,
+ n,
+ i = 0;
+ for (let s = 0, o = e.length; s < o; s += 4) {
+ t = e[s];
+ a = e[s + 1];
+ r = e[s + 2];
+ n = e[s + 3];
+ e[i++] =
+ 255 +
+ t *
+ (-6747147073602441e-20 * t +
+ 0.0008379262121013727 * a +
+ 0.0002894718188643294 * r +
+ 0.003264231057537806 * n -
+ 1.1185611867203937) +
+ a *
+ (26374107616089405e-21 * a -
+ 8626949158638572e-20 * r -
+ 0.0002748769067499491 * n -
+ 0.02155688794978967) +
+ r * (-3878099212869363e-20 * r - 0.0003267808279485286 * n + 0.0686742238595345) -
+ n * (0.0003361971776183937 * n + 0.7430659151342254);
+ e[i++] =
+ 255 +
+ t *
+ (0.00013596372813588848 * t +
+ 0.000924537132573585 * a +
+ 0.00010567359618683593 * r +
+ 0.0004791864687436512 * n -
+ 0.3109689587515875) +
+ a *
+ (-0.00023545346108370344 * a +
+ 0.0002702845253534714 * r +
+ 0.0020200308977307156 * n -
+ 0.7488052167015494) +
+ r * (6834815998235662e-20 * r + 0.00015168452363460973 * n - 0.09751927774728933) -
+ n * (0.0003189131175883281 * n + 0.7364883807733168);
+ e[i++] =
+ 255 +
+ t *
+ (13598650411385307e-21 * t +
+ 0.00012423956175490851 * a +
+ 0.0004751985097583589 * r -
+ 36729317476630422e-22 * n -
+ 0.05562186980264034) +
+ a *
+ (0.00016141380598724676 * a +
+ 0.0009692239130725186 * r +
+ 0.0007782692450036253 * n -
+ 0.44015232367526463) +
+ r * (5.068882914068769e-7 * r + 0.0017778369011375071 * n - 0.7591454649749609) -
+ n * (0.0003435319965105553 * n + 0.7063770186160144);
+ }
+ return e.subarray(0, i);
+ }
+ getData({width: e, height: t, forceRGB: a = !1, isSourcePDF: r = !1}) {
+ if (this.numComponents > 4) throw new JpegError('Unsupported color mode');
+ const n = this._getLinearizedBlockData(e, t, r);
+ if (1 === this.numComponents && a) {
+ const e = n.length,
+ t = new Uint8ClampedArray(3 * e);
+ let a = 0;
+ for (let r = 0; r < e; r++) {
+ const e = n[r];
+ t[a++] = e;
+ t[a++] = e;
+ t[a++] = e;
+ }
+ return t;
+ }
+ if (3 === this.numComponents && this._isColorConversionNeeded) return this._convertYccToRgb(n);
+ if (4 === this.numComponents) {
+ if (this._isColorConversionNeeded) return a ? this._convertYcckToRgb(n) : this._convertYcckToCmyk(n);
+ if (a) return this._convertCmykToRgb(n);
+ }
+ return n;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.JpxStream = void 0;
+ var r = a(19),
+ n = a(30),
+ i = a(2);
+ class JpxStream extends r.DecodeStream {
+ constructor(e, t, a) {
+ super(t);
+ this.stream = e;
+ this.dict = e.dict;
+ this.maybeLength = t;
+ this.params = a;
+ }
+ get bytes() {
+ return (0, i.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
+ }
+ ensureBuffer(e) {}
+ readBlock() {
+ if (this.eof) return;
+ const e = new n.JpxImage();
+ e.parse(this.bytes);
+ const t = e.width,
+ a = e.height,
+ r = e.componentsCount,
+ i = e.tiles.length;
+ if (1 === i) this.buffer = e.tiles[0].items;
+ else {
+ const n = new Uint8ClampedArray(t * a * r);
+ for (let a = 0; a < i; a++) {
+ const i = e.tiles[a],
+ s = i.width,
+ o = i.height,
+ c = i.left,
+ l = i.top,
+ h = i.items;
+ let u = 0,
+ d = (t * l + c) * r;
+ const f = t * r,
+ g = s * r;
+ for (let e = 0; e < o; e++) {
+ const e = h.subarray(u, u + g);
+ n.set(e, d);
+ u += g;
+ d += f;
+ }
+ }
+ this.buffer = n;
+ }
+ this.bufferLength = this.buffer.length;
+ this.eof = !0;
+ }
+ }
+ t.JpxStream = JpxStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.JpxImage = void 0;
+ var r = a(2),
+ n = a(6),
+ i = a(26);
+ class JpxError extends r.BaseException {
+ constructor(e) {
+ super(`JPX error: ${e}`, 'JpxError');
+ }
+ }
+ const s = {LL: 0, LH: 1, HL: 1, HH: 2};
+ t.JpxImage = class JpxImage {
+ constructor() {
+ this.failOnCorruptedImage = !1;
+ }
+ parse(e) {
+ if (65359 === (0, n.readUint16)(e, 0)) {
+ this.parseCodestream(e, 0, e.length);
+ return;
+ }
+ const t = e.length;
+ let a = 0;
+ for (; a < t; ) {
+ let i = 8,
+ s = (0, n.readUint32)(e, a);
+ const o = (0, n.readUint32)(e, a + 4);
+ a += i;
+ if (1 === s) {
+ s = 4294967296 * (0, n.readUint32)(e, a) + (0, n.readUint32)(e, a + 4);
+ a += 8;
+ i += 8;
+ }
+ 0 === s && (s = t - a + i);
+ if (s < i) throw new JpxError('Invalid box field size');
+ const c = s - i;
+ let l = !0;
+ switch (o) {
+ case 1785737832:
+ l = !1;
+ break;
+ case 1668246642:
+ const t = e[a];
+ if (1 === t) {
+ const t = (0, n.readUint32)(e, a + 3);
+ switch (t) {
+ case 16:
+ case 17:
+ case 18:
+ break;
+ default:
+ (0, r.warn)('Unknown colorspace ' + t);
+ }
+ } else 2 === t && (0, r.info)('ICC profile not supported');
+ break;
+ case 1785737827:
+ this.parseCodestream(e, a, a + c);
+ break;
+ case 1783636e3:
+ 218793738 !== (0, n.readUint32)(e, a) && (0, r.warn)('Invalid JP2 signature');
+ break;
+ case 1783634458:
+ case 1718909296:
+ case 1920099697:
+ case 1919251232:
+ case 1768449138:
+ break;
+ default:
+ const i = String.fromCharCode((o >> 24) & 255, (o >> 16) & 255, (o >> 8) & 255, 255 & o);
+ (0, r.warn)(`Unsupported header type ${o} (${i}).`);
+ }
+ l && (a += c);
+ }
+ }
+ parseImageProperties(e) {
+ let t = e.getByte();
+ for (; t >= 0; ) {
+ const a = t;
+ t = e.getByte();
+ if (65361 === ((a << 8) | t)) {
+ e.skip(4);
+ const t = e.getInt32() >>> 0,
+ a = e.getInt32() >>> 0,
+ r = e.getInt32() >>> 0,
+ n = e.getInt32() >>> 0;
+ e.skip(16);
+ const i = e.getUint16();
+ this.width = t - r;
+ this.height = a - n;
+ this.componentsCount = i;
+ this.bitsPerComponent = 8;
+ return;
+ }
+ }
+ throw new JpxError('No size marker found in JPX stream');
+ }
+ parseCodestream(e, t, a) {
+ const i = {};
+ let s = !1;
+ try {
+ let o = t;
+ for (; o + 1 < a; ) {
+ const t = (0, n.readUint16)(e, o);
+ o += 2;
+ let a,
+ c,
+ l,
+ h,
+ u,
+ d,
+ f = 0;
+ switch (t) {
+ case 65359:
+ i.mainHeader = !0;
+ break;
+ case 65497:
+ break;
+ case 65361:
+ f = (0, n.readUint16)(e, o);
+ const g = {};
+ g.Xsiz = (0, n.readUint32)(e, o + 4);
+ g.Ysiz = (0, n.readUint32)(e, o + 8);
+ g.XOsiz = (0, n.readUint32)(e, o + 12);
+ g.YOsiz = (0, n.readUint32)(e, o + 16);
+ g.XTsiz = (0, n.readUint32)(e, o + 20);
+ g.YTsiz = (0, n.readUint32)(e, o + 24);
+ g.XTOsiz = (0, n.readUint32)(e, o + 28);
+ g.YTOsiz = (0, n.readUint32)(e, o + 32);
+ const p = (0, n.readUint16)(e, o + 36);
+ g.Csiz = p;
+ const m = [];
+ a = o + 38;
+ for (let t = 0; t < p; t++) {
+ const t = {
+ precision: 1 + (127 & e[a]),
+ isSigned: !!(128 & e[a]),
+ XRsiz: e[a + 1],
+ YRsiz: e[a + 2],
+ };
+ a += 3;
+ calculateComponentDimensions(t, g);
+ m.push(t);
+ }
+ i.SIZ = g;
+ i.components = m;
+ calculateTileGrids(i, m);
+ i.QCC = [];
+ i.COC = [];
+ break;
+ case 65372:
+ f = (0, n.readUint16)(e, o);
+ const b = {};
+ a = o + 2;
+ c = e[a++];
+ switch (31 & c) {
+ case 0:
+ h = 8;
+ u = !0;
+ break;
+ case 1:
+ h = 16;
+ u = !1;
+ break;
+ case 2:
+ h = 16;
+ u = !0;
+ break;
+ default:
+ throw new Error('Invalid SQcd value ' + c);
+ }
+ b.noQuantization = 8 === h;
+ b.scalarExpounded = u;
+ b.guardBits = c >> 5;
+ l = [];
+ for (; a < f + o; ) {
+ const t = {};
+ if (8 === h) {
+ t.epsilon = e[a++] >> 3;
+ t.mu = 0;
+ } else {
+ t.epsilon = e[a] >> 3;
+ t.mu = ((7 & e[a]) << 8) | e[a + 1];
+ a += 2;
+ }
+ l.push(t);
+ }
+ b.SPqcds = l;
+ if (i.mainHeader) i.QCD = b;
+ else {
+ i.currentTile.QCD = b;
+ i.currentTile.QCC = [];
+ }
+ break;
+ case 65373:
+ f = (0, n.readUint16)(e, o);
+ const y = {};
+ a = o + 2;
+ let w;
+ if (i.SIZ.Csiz < 257) w = e[a++];
+ else {
+ w = (0, n.readUint16)(e, a);
+ a += 2;
+ }
+ c = e[a++];
+ switch (31 & c) {
+ case 0:
+ h = 8;
+ u = !0;
+ break;
+ case 1:
+ h = 16;
+ u = !1;
+ break;
+ case 2:
+ h = 16;
+ u = !0;
+ break;
+ default:
+ throw new Error('Invalid SQcd value ' + c);
+ }
+ y.noQuantization = 8 === h;
+ y.scalarExpounded = u;
+ y.guardBits = c >> 5;
+ l = [];
+ for (; a < f + o; ) {
+ const t = {};
+ if (8 === h) {
+ t.epsilon = e[a++] >> 3;
+ t.mu = 0;
+ } else {
+ t.epsilon = e[a] >> 3;
+ t.mu = ((7 & e[a]) << 8) | e[a + 1];
+ a += 2;
+ }
+ l.push(t);
+ }
+ y.SPqcds = l;
+ i.mainHeader ? (i.QCC[w] = y) : (i.currentTile.QCC[w] = y);
+ break;
+ case 65362:
+ f = (0, n.readUint16)(e, o);
+ const S = {};
+ a = o + 2;
+ const x = e[a++];
+ S.entropyCoderWithCustomPrecincts = !!(1 & x);
+ S.sopMarkerUsed = !!(2 & x);
+ S.ephMarkerUsed = !!(4 & x);
+ S.progressionOrder = e[a++];
+ S.layersCount = (0, n.readUint16)(e, a);
+ a += 2;
+ S.multipleComponentTransform = e[a++];
+ S.decompositionLevelsCount = e[a++];
+ S.xcb = 2 + (15 & e[a++]);
+ S.ycb = 2 + (15 & e[a++]);
+ const k = e[a++];
+ S.selectiveArithmeticCodingBypass = !!(1 & k);
+ S.resetContextProbabilities = !!(2 & k);
+ S.terminationOnEachCodingPass = !!(4 & k);
+ S.verticallyStripe = !!(8 & k);
+ S.predictableTermination = !!(16 & k);
+ S.segmentationSymbolUsed = !!(32 & k);
+ S.reversibleTransformation = e[a++];
+ if (S.entropyCoderWithCustomPrecincts) {
+ const t = [];
+ for (; a < f + o; ) {
+ const r = e[a++];
+ t.push({PPx: 15 & r, PPy: r >> 4});
+ }
+ S.precinctsSizes = t;
+ }
+ const C = [];
+ S.selectiveArithmeticCodingBypass && C.push('selectiveArithmeticCodingBypass');
+ S.terminationOnEachCodingPass && C.push('terminationOnEachCodingPass');
+ S.verticallyStripe && C.push('verticallyStripe');
+ S.predictableTermination && C.push('predictableTermination');
+ if (C.length > 0) {
+ s = !0;
+ (0, r.warn)(`JPX: Unsupported COD options (${C.join(', ')}).`);
+ }
+ if (i.mainHeader) i.COD = S;
+ else {
+ i.currentTile.COD = S;
+ i.currentTile.COC = [];
+ }
+ break;
+ case 65424:
+ f = (0, n.readUint16)(e, o);
+ d = {};
+ d.index = (0, n.readUint16)(e, o + 2);
+ d.length = (0, n.readUint32)(e, o + 4);
+ d.dataEnd = d.length + o - 2;
+ d.partIndex = e[o + 8];
+ d.partsCount = e[o + 9];
+ i.mainHeader = !1;
+ if (0 === d.partIndex) {
+ d.COD = i.COD;
+ d.COC = i.COC.slice(0);
+ d.QCD = i.QCD;
+ d.QCC = i.QCC.slice(0);
+ }
+ i.currentTile = d;
+ break;
+ case 65427:
+ d = i.currentTile;
+ if (0 === d.partIndex) {
+ initializeTile(i, d.index);
+ buildPackets(i);
+ }
+ f = d.dataEnd - o;
+ parseTilePackets(i, e, o, f);
+ break;
+ case 65363:
+ (0, r.warn)('JPX: Codestream code 0xFF53 (COC) is not implemented.');
+ case 65365:
+ case 65367:
+ case 65368:
+ case 65380:
+ f = (0, n.readUint16)(e, o);
+ break;
+ default:
+ throw new Error('Unknown codestream code: ' + t.toString(16));
+ }
+ o += f;
+ }
+ } catch (e) {
+ if (s || this.failOnCorruptedImage) throw new JpxError(e.message);
+ (0, r.warn)(`JPX: Trying to recover from: "${e.message}".`);
+ }
+ this.tiles = (function transformComponents(e) {
+ const t = e.SIZ,
+ a = e.components,
+ r = t.Csiz,
+ n = [];
+ for (let t = 0, i = e.tiles.length; t < i; t++) {
+ const i = e.tiles[t],
+ s = [];
+ for (let t = 0; t < r; t++) s[t] = transformTile(e, i, t);
+ const o = s[0],
+ c = new Uint8ClampedArray(o.items.length * r),
+ l = {left: o.left, top: o.top, width: o.width, height: o.height, items: c};
+ let h,
+ u,
+ d,
+ f,
+ g,
+ p,
+ m,
+ b = 0;
+ if (i.codingStyleDefaultParameters.multipleComponentTransform) {
+ const e = 4 === r,
+ t = s[0].items,
+ n = s[1].items,
+ o = s[2].items,
+ l = e ? s[3].items : null;
+ h = a[0].precision - 8;
+ u = 0.5 + (128 << h);
+ const y = i.components[0],
+ w = r - 3;
+ f = t.length;
+ if (y.codingStyleParameters.reversibleTransformation)
+ for (d = 0; d < f; d++, b += w) {
+ g = t[d] + u;
+ p = n[d];
+ m = o[d];
+ const e = g - ((m + p) >> 2);
+ c[b++] = (e + m) >> h;
+ c[b++] = e >> h;
+ c[b++] = (e + p) >> h;
+ }
+ else
+ for (d = 0; d < f; d++, b += w) {
+ g = t[d] + u;
+ p = n[d];
+ m = o[d];
+ c[b++] = (g + 1.402 * m) >> h;
+ c[b++] = (g - 0.34413 * p - 0.71414 * m) >> h;
+ c[b++] = (g + 1.772 * p) >> h;
+ }
+ if (e) for (d = 0, b = 3; d < f; d++, b += 4) c[b] = (l[d] + u) >> h;
+ } else
+ for (let e = 0; e < r; e++) {
+ const t = s[e].items;
+ h = a[e].precision - 8;
+ u = 0.5 + (128 << h);
+ for (b = e, d = 0, f = t.length; d < f; d++) {
+ c[b] = (t[d] + u) >> h;
+ b += r;
+ }
+ }
+ n.push(l);
+ }
+ return n;
+ })(i);
+ this.width = i.SIZ.Xsiz - i.SIZ.XOsiz;
+ this.height = i.SIZ.Ysiz - i.SIZ.YOsiz;
+ this.componentsCount = i.SIZ.Csiz;
+ }
+ };
+ function calculateComponentDimensions(e, t) {
+ e.x0 = Math.ceil(t.XOsiz / e.XRsiz);
+ e.x1 = Math.ceil(t.Xsiz / e.XRsiz);
+ e.y0 = Math.ceil(t.YOsiz / e.YRsiz);
+ e.y1 = Math.ceil(t.Ysiz / e.YRsiz);
+ e.width = e.x1 - e.x0;
+ e.height = e.y1 - e.y0;
+ }
+ function calculateTileGrids(e, t) {
+ const a = e.SIZ,
+ r = [];
+ let n;
+ const i = Math.ceil((a.Xsiz - a.XTOsiz) / a.XTsiz),
+ s = Math.ceil((a.Ysiz - a.YTOsiz) / a.YTsiz);
+ for (let e = 0; e < s; e++)
+ for (let t = 0; t < i; t++) {
+ n = {};
+ n.tx0 = Math.max(a.XTOsiz + t * a.XTsiz, a.XOsiz);
+ n.ty0 = Math.max(a.YTOsiz + e * a.YTsiz, a.YOsiz);
+ n.tx1 = Math.min(a.XTOsiz + (t + 1) * a.XTsiz, a.Xsiz);
+ n.ty1 = Math.min(a.YTOsiz + (e + 1) * a.YTsiz, a.Ysiz);
+ n.width = n.tx1 - n.tx0;
+ n.height = n.ty1 - n.ty0;
+ n.components = [];
+ r.push(n);
+ }
+ e.tiles = r;
+ for (let e = 0, i = a.Csiz; e < i; e++) {
+ const a = t[e];
+ for (let t = 0, i = r.length; t < i; t++) {
+ const i = {};
+ n = r[t];
+ i.tcx0 = Math.ceil(n.tx0 / a.XRsiz);
+ i.tcy0 = Math.ceil(n.ty0 / a.YRsiz);
+ i.tcx1 = Math.ceil(n.tx1 / a.XRsiz);
+ i.tcy1 = Math.ceil(n.ty1 / a.YRsiz);
+ i.width = i.tcx1 - i.tcx0;
+ i.height = i.tcy1 - i.tcy0;
+ n.components[e] = i;
+ }
+ }
+ }
+ function getBlocksDimensions(e, t, a) {
+ const r = t.codingStyleParameters,
+ n = {};
+ if (r.entropyCoderWithCustomPrecincts) {
+ n.PPx = r.precinctsSizes[a].PPx;
+ n.PPy = r.precinctsSizes[a].PPy;
+ } else {
+ n.PPx = 15;
+ n.PPy = 15;
+ }
+ n.xcb_ = a > 0 ? Math.min(r.xcb, n.PPx - 1) : Math.min(r.xcb, n.PPx);
+ n.ycb_ = a > 0 ? Math.min(r.ycb, n.PPy - 1) : Math.min(r.ycb, n.PPy);
+ return n;
+ }
+ function buildPrecincts(e, t, a) {
+ const r = 1 << a.PPx,
+ n = 1 << a.PPy,
+ i = 0 === t.resLevel,
+ s = 1 << (a.PPx + (i ? 0 : -1)),
+ o = 1 << (a.PPy + (i ? 0 : -1)),
+ c = t.trx1 > t.trx0 ? Math.ceil(t.trx1 / r) - Math.floor(t.trx0 / r) : 0,
+ l = t.try1 > t.try0 ? Math.ceil(t.try1 / n) - Math.floor(t.try0 / n) : 0,
+ h = c * l;
+ t.precinctParameters = {
+ precinctWidth: r,
+ precinctHeight: n,
+ numprecinctswide: c,
+ numprecinctshigh: l,
+ numprecincts: h,
+ precinctWidthInSubband: s,
+ precinctHeightInSubband: o,
+ };
+ }
+ function buildCodeblocks(e, t, a) {
+ const r = a.xcb_,
+ n = a.ycb_,
+ i = 1 << r,
+ s = 1 << n,
+ o = t.tbx0 >> r,
+ c = t.tby0 >> n,
+ l = (t.tbx1 + i - 1) >> r,
+ h = (t.tby1 + s - 1) >> n,
+ u = t.resolution.precinctParameters,
+ d = [],
+ f = [];
+ let g, p, m, b;
+ for (p = c; p < h; p++)
+ for (g = o; g < l; g++) {
+ m = {cbx: g, cby: p, tbx0: i * g, tby0: s * p, tbx1: i * (g + 1), tby1: s * (p + 1)};
+ m.tbx0_ = Math.max(t.tbx0, m.tbx0);
+ m.tby0_ = Math.max(t.tby0, m.tby0);
+ m.tbx1_ = Math.min(t.tbx1, m.tbx1);
+ m.tby1_ = Math.min(t.tby1, m.tby1);
+ b =
+ Math.floor((m.tbx0_ - t.tbx0) / u.precinctWidthInSubband) +
+ Math.floor((m.tby0_ - t.tby0) / u.precinctHeightInSubband) * u.numprecinctswide;
+ m.precinctNumber = b;
+ m.subbandType = t.type;
+ m.Lblock = 3;
+ if (m.tbx1_ <= m.tbx0_ || m.tby1_ <= m.tby0_) continue;
+ d.push(m);
+ let e = f[b];
+ if (void 0 !== e) {
+ g < e.cbxMin ? (e.cbxMin = g) : g > e.cbxMax && (e.cbxMax = g);
+ p < e.cbyMin ? (e.cbxMin = p) : p > e.cbyMax && (e.cbyMax = p);
+ } else f[b] = e = {cbxMin: g, cbyMin: p, cbxMax: g, cbyMax: p};
+ m.precinct = e;
+ }
+ t.codeblockParameters = {
+ codeblockWidth: r,
+ codeblockHeight: n,
+ numcodeblockwide: l - o + 1,
+ numcodeblockhigh: h - c + 1,
+ };
+ t.codeblocks = d;
+ t.precincts = f;
+ }
+ function createPacket(e, t, a) {
+ const r = [],
+ n = e.subbands;
+ for (let e = 0, a = n.length; e < a; e++) {
+ const a = n[e].codeblocks;
+ for (let e = 0, n = a.length; e < n; e++) {
+ const n = a[e];
+ n.precinctNumber === t && r.push(n);
+ }
+ }
+ return {layerNumber: a, codeblocks: r};
+ }
+ function LayerResolutionComponentPositionIterator(e) {
+ const t = e.SIZ,
+ a = e.currentTile.index,
+ r = e.tiles[a],
+ n = r.codingStyleDefaultParameters.layersCount,
+ i = t.Csiz;
+ let s = 0;
+ for (let e = 0; e < i; e++) s = Math.max(s, r.components[e].codingStyleParameters.decompositionLevelsCount);
+ let o = 0,
+ c = 0,
+ l = 0,
+ h = 0;
+ this.nextPacket = function JpxImage_nextPacket() {
+ for (; o < n; o++) {
+ for (; c <= s; c++) {
+ for (; l < i; l++) {
+ const e = r.components[l];
+ if (c > e.codingStyleParameters.decompositionLevelsCount) continue;
+ const t = e.resolutions[c],
+ a = t.precinctParameters.numprecincts;
+ for (; h < a; ) {
+ const e = createPacket(t, h, o);
+ h++;
+ return e;
+ }
+ h = 0;
+ }
+ l = 0;
+ }
+ c = 0;
+ }
+ throw new JpxError('Out of packets');
+ };
+ }
+ function ResolutionLayerComponentPositionIterator(e) {
+ const t = e.SIZ,
+ a = e.currentTile.index,
+ r = e.tiles[a],
+ n = r.codingStyleDefaultParameters.layersCount,
+ i = t.Csiz;
+ let s = 0;
+ for (let e = 0; e < i; e++) s = Math.max(s, r.components[e].codingStyleParameters.decompositionLevelsCount);
+ let o = 0,
+ c = 0,
+ l = 0,
+ h = 0;
+ this.nextPacket = function JpxImage_nextPacket() {
+ for (; o <= s; o++) {
+ for (; c < n; c++) {
+ for (; l < i; l++) {
+ const e = r.components[l];
+ if (o > e.codingStyleParameters.decompositionLevelsCount) continue;
+ const t = e.resolutions[o],
+ a = t.precinctParameters.numprecincts;
+ for (; h < a; ) {
+ const e = createPacket(t, h, c);
+ h++;
+ return e;
+ }
+ h = 0;
+ }
+ l = 0;
+ }
+ c = 0;
+ }
+ throw new JpxError('Out of packets');
+ };
+ }
+ function ResolutionPositionComponentLayerIterator(e) {
+ const t = e.SIZ,
+ a = e.currentTile.index,
+ r = e.tiles[a],
+ n = r.codingStyleDefaultParameters.layersCount,
+ i = t.Csiz;
+ let s,
+ o,
+ c,
+ l,
+ h = 0;
+ for (c = 0; c < i; c++) {
+ const e = r.components[c];
+ h = Math.max(h, e.codingStyleParameters.decompositionLevelsCount);
+ }
+ const u = new Int32Array(h + 1);
+ for (o = 0; o <= h; ++o) {
+ let e = 0;
+ for (c = 0; c < i; ++c) {
+ const t = r.components[c].resolutions;
+ o < t.length && (e = Math.max(e, t[o].precinctParameters.numprecincts));
+ }
+ u[o] = e;
+ }
+ s = 0;
+ o = 0;
+ c = 0;
+ l = 0;
+ this.nextPacket = function JpxImage_nextPacket() {
+ for (; o <= h; o++) {
+ for (; l < u[o]; l++) {
+ for (; c < i; c++) {
+ const e = r.components[c];
+ if (o > e.codingStyleParameters.decompositionLevelsCount) continue;
+ const t = e.resolutions[o],
+ a = t.precinctParameters.numprecincts;
+ if (!(l >= a)) {
+ for (; s < n; ) {
+ const e = createPacket(t, l, s);
+ s++;
+ return e;
+ }
+ s = 0;
+ }
+ }
+ c = 0;
+ }
+ l = 0;
+ }
+ throw new JpxError('Out of packets');
+ };
+ }
+ function PositionComponentResolutionLayerIterator(e) {
+ const t = e.SIZ,
+ a = e.currentTile.index,
+ r = e.tiles[a],
+ n = r.codingStyleDefaultParameters.layersCount,
+ i = t.Csiz,
+ s = getPrecinctSizesInImageScale(r),
+ o = s;
+ let c = 0,
+ l = 0,
+ h = 0,
+ u = 0,
+ d = 0;
+ this.nextPacket = function JpxImage_nextPacket() {
+ for (; d < o.maxNumHigh; d++) {
+ for (; u < o.maxNumWide; u++) {
+ for (; h < i; h++) {
+ const e = r.components[h],
+ t = e.codingStyleParameters.decompositionLevelsCount;
+ for (; l <= t; l++) {
+ const t = e.resolutions[l],
+ a = s.components[h].resolutions[l],
+ r = getPrecinctIndexIfExist(u, d, a, o, t);
+ if (null !== r) {
+ for (; c < n; ) {
+ const e = createPacket(t, r, c);
+ c++;
+ return e;
+ }
+ c = 0;
+ }
+ }
+ l = 0;
+ }
+ h = 0;
+ }
+ u = 0;
+ }
+ throw new JpxError('Out of packets');
+ };
+ }
+ function ComponentPositionResolutionLayerIterator(e) {
+ const t = e.SIZ,
+ a = e.currentTile.index,
+ r = e.tiles[a],
+ n = r.codingStyleDefaultParameters.layersCount,
+ i = t.Csiz,
+ s = getPrecinctSizesInImageScale(r);
+ let o = 0,
+ c = 0,
+ l = 0,
+ h = 0,
+ u = 0;
+ this.nextPacket = function JpxImage_nextPacket() {
+ for (; l < i; ++l) {
+ const e = r.components[l],
+ t = s.components[l],
+ a = e.codingStyleParameters.decompositionLevelsCount;
+ for (; u < t.maxNumHigh; u++) {
+ for (; h < t.maxNumWide; h++) {
+ for (; c <= a; c++) {
+ const a = e.resolutions[c],
+ r = t.resolutions[c],
+ i = getPrecinctIndexIfExist(h, u, r, t, a);
+ if (null !== i) {
+ for (; o < n; ) {
+ const e = createPacket(a, i, o);
+ o++;
+ return e;
+ }
+ o = 0;
+ }
+ }
+ c = 0;
+ }
+ h = 0;
+ }
+ u = 0;
+ }
+ throw new JpxError('Out of packets');
+ };
+ }
+ function getPrecinctIndexIfExist(e, t, a, r, n) {
+ const i = e * r.minWidth,
+ s = t * r.minHeight;
+ if (i % a.width != 0 || s % a.height != 0) return null;
+ const o = (s / a.width) * n.precinctParameters.numprecinctswide;
+ return i / a.height + o;
+ }
+ function getPrecinctSizesInImageScale(e) {
+ const t = e.components.length;
+ let a = Number.MAX_VALUE,
+ r = Number.MAX_VALUE,
+ n = 0,
+ i = 0;
+ const s = new Array(t);
+ for (let o = 0; o < t; o++) {
+ const t = e.components[o],
+ c = t.codingStyleParameters.decompositionLevelsCount,
+ l = new Array(c + 1);
+ let h = Number.MAX_VALUE,
+ u = Number.MAX_VALUE,
+ d = 0,
+ f = 0,
+ g = 1;
+ for (let e = c; e >= 0; --e) {
+ const a = t.resolutions[e],
+ r = g * a.precinctParameters.precinctWidth,
+ n = g * a.precinctParameters.precinctHeight;
+ h = Math.min(h, r);
+ u = Math.min(u, n);
+ d = Math.max(d, a.precinctParameters.numprecinctswide);
+ f = Math.max(f, a.precinctParameters.numprecinctshigh);
+ l[e] = {width: r, height: n};
+ g <<= 1;
+ }
+ a = Math.min(a, h);
+ r = Math.min(r, u);
+ n = Math.max(n, d);
+ i = Math.max(i, f);
+ s[o] = {resolutions: l, minWidth: h, minHeight: u, maxNumWide: d, maxNumHigh: f};
+ }
+ return {components: s, minWidth: a, minHeight: r, maxNumWide: n, maxNumHigh: i};
+ }
+ function buildPackets(e) {
+ const t = e.SIZ,
+ a = e.currentTile.index,
+ r = e.tiles[a],
+ n = t.Csiz;
+ for (let e = 0; e < n; e++) {
+ const t = r.components[e],
+ a = t.codingStyleParameters.decompositionLevelsCount,
+ n = [],
+ i = [];
+ for (let e = 0; e <= a; e++) {
+ const r = getBlocksDimensions(0, t, e),
+ s = {},
+ o = 1 << (a - e);
+ s.trx0 = Math.ceil(t.tcx0 / o);
+ s.try0 = Math.ceil(t.tcy0 / o);
+ s.trx1 = Math.ceil(t.tcx1 / o);
+ s.try1 = Math.ceil(t.tcy1 / o);
+ s.resLevel = e;
+ buildPrecincts(0, s, r);
+ n.push(s);
+ let c;
+ if (0 === e) {
+ c = {};
+ c.type = 'LL';
+ c.tbx0 = Math.ceil(t.tcx0 / o);
+ c.tby0 = Math.ceil(t.tcy0 / o);
+ c.tbx1 = Math.ceil(t.tcx1 / o);
+ c.tby1 = Math.ceil(t.tcy1 / o);
+ c.resolution = s;
+ buildCodeblocks(0, c, r);
+ i.push(c);
+ s.subbands = [c];
+ } else {
+ const n = 1 << (a - e + 1),
+ o = [];
+ c = {};
+ c.type = 'HL';
+ c.tbx0 = Math.ceil(t.tcx0 / n - 0.5);
+ c.tby0 = Math.ceil(t.tcy0 / n);
+ c.tbx1 = Math.ceil(t.tcx1 / n - 0.5);
+ c.tby1 = Math.ceil(t.tcy1 / n);
+ c.resolution = s;
+ buildCodeblocks(0, c, r);
+ i.push(c);
+ o.push(c);
+ c = {};
+ c.type = 'LH';
+ c.tbx0 = Math.ceil(t.tcx0 / n);
+ c.tby0 = Math.ceil(t.tcy0 / n - 0.5);
+ c.tbx1 = Math.ceil(t.tcx1 / n);
+ c.tby1 = Math.ceil(t.tcy1 / n - 0.5);
+ c.resolution = s;
+ buildCodeblocks(0, c, r);
+ i.push(c);
+ o.push(c);
+ c = {};
+ c.type = 'HH';
+ c.tbx0 = Math.ceil(t.tcx0 / n - 0.5);
+ c.tby0 = Math.ceil(t.tcy0 / n - 0.5);
+ c.tbx1 = Math.ceil(t.tcx1 / n - 0.5);
+ c.tby1 = Math.ceil(t.tcy1 / n - 0.5);
+ c.resolution = s;
+ buildCodeblocks(0, c, r);
+ i.push(c);
+ o.push(c);
+ s.subbands = o;
+ }
+ }
+ t.resolutions = n;
+ t.subbands = i;
+ }
+ const i = r.codingStyleDefaultParameters.progressionOrder;
+ switch (i) {
+ case 0:
+ r.packetsIterator = new LayerResolutionComponentPositionIterator(e);
+ break;
+ case 1:
+ r.packetsIterator = new ResolutionLayerComponentPositionIterator(e);
+ break;
+ case 2:
+ r.packetsIterator = new ResolutionPositionComponentLayerIterator(e);
+ break;
+ case 3:
+ r.packetsIterator = new PositionComponentResolutionLayerIterator(e);
+ break;
+ case 4:
+ r.packetsIterator = new ComponentPositionResolutionLayerIterator(e);
+ break;
+ default:
+ throw new JpxError(`Unsupported progression order ${i}`);
+ }
+ }
+ function parseTilePackets(e, t, a, r) {
+ let i,
+ s = 0,
+ o = 0,
+ c = !1;
+ function readBits(e) {
+ for (; o < e; ) {
+ const e = t[a + s];
+ s++;
+ if (c) {
+ i = (i << 7) | e;
+ o += 7;
+ c = !1;
+ } else {
+ i = (i << 8) | e;
+ o += 8;
+ }
+ 255 === e && (c = !0);
+ }
+ o -= e;
+ return (i >>> o) & ((1 << e) - 1);
+ }
+ function skipMarkerIfEqual(e) {
+ if (255 === t[a + s - 1] && t[a + s] === e) {
+ skipBytes(1);
+ return !0;
+ }
+ if (255 === t[a + s] && t[a + s + 1] === e) {
+ skipBytes(2);
+ return !0;
+ }
+ return !1;
+ }
+ function skipBytes(e) {
+ s += e;
+ }
+ function alignToByte() {
+ o = 0;
+ if (c) {
+ s++;
+ c = !1;
+ }
+ }
+ function readCodingpasses() {
+ if (0 === readBits(1)) return 1;
+ if (0 === readBits(1)) return 2;
+ let e = readBits(2);
+ if (e < 3) return e + 3;
+ e = readBits(5);
+ if (e < 31) return e + 6;
+ e = readBits(7);
+ return e + 37;
+ }
+ const l = e.currentTile.index,
+ h = e.tiles[l],
+ u = e.COD.sopMarkerUsed,
+ d = e.COD.ephMarkerUsed,
+ f = h.packetsIterator;
+ for (; s < r; ) {
+ alignToByte();
+ u && skipMarkerIfEqual(145) && skipBytes(4);
+ const e = f.nextPacket();
+ if (!readBits(1)) continue;
+ const r = e.layerNumber,
+ i = [];
+ let o;
+ for (let t = 0, a = e.codeblocks.length; t < a; t++) {
+ o = e.codeblocks[t];
+ let a = o.precinct;
+ const s = o.cbx - a.cbxMin,
+ c = o.cby - a.cbyMin;
+ let l,
+ h,
+ u = !1,
+ d = !1;
+ if (void 0 !== o.included) u = !!readBits(1);
+ else {
+ a = o.precinct;
+ let e;
+ if (void 0 !== a.inclusionTree) e = a.inclusionTree;
+ else {
+ const t = a.cbxMax - a.cbxMin + 1,
+ n = a.cbyMax - a.cbyMin + 1;
+ e = new InclusionTree(t, n, r);
+ h = new TagTree(t, n);
+ a.inclusionTree = e;
+ a.zeroBitPlanesTree = h;
+ for (let e = 0; e < r; e++) if (0 !== readBits(1)) throw new JpxError('Invalid tag tree');
+ }
+ if (e.reset(s, c, r))
+ for (;;) {
+ if (!readBits(1)) {
+ e.incrementValue(r);
+ break;
+ }
+ l = !e.nextLevel();
+ if (l) {
+ o.included = !0;
+ u = d = !0;
+ break;
+ }
+ }
+ }
+ if (!u) continue;
+ if (d) {
+ h = a.zeroBitPlanesTree;
+ h.reset(s, c);
+ for (;;)
+ if (readBits(1)) {
+ l = !h.nextLevel();
+ if (l) break;
+ } else h.incrementValue();
+ o.zeroBitPlanes = h.value;
+ }
+ const f = readCodingpasses();
+ for (; readBits(1); ) o.Lblock++;
+ const g = (0, n.log2)(f),
+ p = readBits((f < 1 << g ? g - 1 : g) + o.Lblock);
+ i.push({codeblock: o, codingpasses: f, dataLength: p});
+ }
+ alignToByte();
+ d && skipMarkerIfEqual(146);
+ for (; i.length > 0; ) {
+ const e = i.shift();
+ o = e.codeblock;
+ void 0 === o.data && (o.data = []);
+ o.data.push({data: t, start: a + s, end: a + s + e.dataLength, codingpasses: e.codingpasses});
+ s += e.dataLength;
+ }
+ }
+ return s;
+ }
+ function copyCoefficients(e, t, a, r, n, s, c, l, h) {
+ const u = r.tbx0,
+ d = r.tby0,
+ f = r.tbx1 - r.tbx0,
+ g = r.codeblocks,
+ p = 'H' === r.type.charAt(0) ? 1 : 0,
+ m = 'H' === r.type.charAt(1) ? t : 0;
+ for (let a = 0, b = g.length; a < b; ++a) {
+ const b = g[a],
+ y = b.tbx1_ - b.tbx0_,
+ w = b.tby1_ - b.tby0_;
+ if (0 === y || 0 === w) continue;
+ if (void 0 === b.data) continue;
+ const S = new o(y, w, b.subbandType, b.zeroBitPlanes, s);
+ let x = 2;
+ const k = b.data;
+ let C,
+ v,
+ F,
+ O = 0,
+ T = 0;
+ for (C = 0, v = k.length; C < v; C++) {
+ F = k[C];
+ O += F.end - F.start;
+ T += F.codingpasses;
+ }
+ const M = new Uint8Array(O);
+ let E = 0;
+ for (C = 0, v = k.length; C < v; C++) {
+ F = k[C];
+ const e = F.data.subarray(F.start, F.end);
+ M.set(e, E);
+ E += e.length;
+ }
+ const D = new i.ArithmeticDecoder(M, 0, O);
+ S.setDecoder(D);
+ for (C = 0; C < T; C++) {
+ switch (x) {
+ case 0:
+ S.runSignificancePropagationPass();
+ break;
+ case 1:
+ S.runMagnitudeRefinementPass();
+ break;
+ case 2:
+ S.runCleanupPass();
+ l && S.checkSegmentationSymbol();
+ }
+ h && S.reset();
+ x = (x + 1) % 3;
+ }
+ let N = b.tbx0_ - u + (b.tby0_ - d) * f;
+ const R = S.coefficentsSign,
+ L = S.coefficentsMagnitude,
+ j = S.bitsDecoded,
+ $ = c ? 0 : 0.5;
+ let _, U, X;
+ E = 0;
+ const H = 'LL' !== r.type;
+ for (C = 0; C < w; C++) {
+ const a = 2 * ((N / f) | 0) * (t - f) + p + m;
+ for (_ = 0; _ < y; _++) {
+ U = L[E];
+ if (0 !== U) {
+ U = (U + $) * n;
+ 0 !== R[E] && (U = -U);
+ X = j[E];
+ const t = H ? a + (N << 1) : N;
+ e[t] = c && X >= s ? U : U * (1 << (s - X));
+ }
+ N++;
+ E++;
+ }
+ N += f - y;
+ }
+ }
+ }
+ function transformTile(e, t, a) {
+ const r = t.components[a],
+ n = r.codingStyleParameters,
+ i = r.quantizationParameters,
+ o = n.decompositionLevelsCount,
+ c = i.SPqcds,
+ l = i.scalarExpounded,
+ h = i.guardBits,
+ u = n.segmentationSymbolUsed,
+ d = n.resetContextProbabilities,
+ f = e.components[a].precision,
+ g = n.reversibleTransformation,
+ p = g ? new ReversibleTransform() : new IrreversibleTransform(),
+ m = [];
+ let b = 0;
+ for (let e = 0; e <= o; e++) {
+ const t = r.resolutions[e],
+ a = t.trx1 - t.trx0,
+ n = t.try1 - t.try0,
+ i = new Float32Array(a * n);
+ for (let r = 0, n = t.subbands.length; r < n; r++) {
+ let n, o;
+ if (l) {
+ n = c[b].mu;
+ o = c[b].epsilon;
+ b++;
+ } else {
+ n = c[0].mu;
+ o = c[0].epsilon + (e > 0 ? 1 - e : 0);
+ }
+ const p = t.subbands[r],
+ m = s[p.type];
+ copyCoefficients(i, a, 0, p, g ? 1 : 2 ** (f + m - o) * (1 + n / 2048), h + o - 1, g, u, d);
+ }
+ m.push({width: a, height: n, items: i});
+ }
+ const y = p.calculate(m, r.tcx0, r.tcy0);
+ return {left: r.tcx0, top: r.tcy0, width: y.width, height: y.height, items: y.items};
+ }
+ function initializeTile(e, t) {
+ const a = e.SIZ.Csiz,
+ r = e.tiles[t];
+ for (let t = 0; t < a; t++) {
+ const a = r.components[t],
+ n = void 0 !== e.currentTile.QCC[t] ? e.currentTile.QCC[t] : e.currentTile.QCD;
+ a.quantizationParameters = n;
+ const i = void 0 !== e.currentTile.COC[t] ? e.currentTile.COC[t] : e.currentTile.COD;
+ a.codingStyleParameters = i;
+ }
+ r.codingStyleDefaultParameters = e.currentTile.COD;
+ }
+ class TagTree {
+ constructor(e, t) {
+ const a = (0, n.log2)(Math.max(e, t)) + 1;
+ this.levels = [];
+ for (let r = 0; r < a; r++) {
+ const a = {width: e, height: t, items: []};
+ this.levels.push(a);
+ e = Math.ceil(e / 2);
+ t = Math.ceil(t / 2);
+ }
+ }
+ reset(e, t) {
+ let a,
+ r = 0,
+ n = 0;
+ for (; r < this.levels.length; ) {
+ a = this.levels[r];
+ const i = e + t * a.width;
+ if (void 0 !== a.items[i]) {
+ n = a.items[i];
+ break;
+ }
+ a.index = i;
+ e >>= 1;
+ t >>= 1;
+ r++;
+ }
+ r--;
+ a = this.levels[r];
+ a.items[a.index] = n;
+ this.currentLevel = r;
+ delete this.value;
+ }
+ incrementValue() {
+ const e = this.levels[this.currentLevel];
+ e.items[e.index]++;
+ }
+ nextLevel() {
+ let e = this.currentLevel,
+ t = this.levels[e];
+ const a = t.items[t.index];
+ e--;
+ if (e < 0) {
+ this.value = a;
+ return !1;
+ }
+ this.currentLevel = e;
+ t = this.levels[e];
+ t.items[t.index] = a;
+ return !0;
+ }
+ }
+ class InclusionTree {
+ constructor(e, t, a) {
+ const r = (0, n.log2)(Math.max(e, t)) + 1;
+ this.levels = [];
+ for (let n = 0; n < r; n++) {
+ const r = new Uint8Array(e * t);
+ for (let e = 0, t = r.length; e < t; e++) r[e] = a;
+ const n = {width: e, height: t, items: r};
+ this.levels.push(n);
+ e = Math.ceil(e / 2);
+ t = Math.ceil(t / 2);
+ }
+ }
+ reset(e, t, a) {
+ let r = 0;
+ for (; r < this.levels.length; ) {
+ const n = this.levels[r],
+ i = e + t * n.width;
+ n.index = i;
+ const s = n.items[i];
+ if (255 === s) break;
+ if (s > a) {
+ this.currentLevel = r;
+ this.propagateValues();
+ return !1;
+ }
+ e >>= 1;
+ t >>= 1;
+ r++;
+ }
+ this.currentLevel = r - 1;
+ return !0;
+ }
+ incrementValue(e) {
+ const t = this.levels[this.currentLevel];
+ t.items[t.index] = e + 1;
+ this.propagateValues();
+ }
+ propagateValues() {
+ let e = this.currentLevel,
+ t = this.levels[e];
+ const a = t.items[t.index];
+ for (; --e >= 0; ) {
+ t = this.levels[e];
+ t.items[t.index] = a;
+ }
+ }
+ nextLevel() {
+ let e = this.currentLevel,
+ t = this.levels[e];
+ const a = t.items[t.index];
+ t.items[t.index] = 255;
+ e--;
+ if (e < 0) return !1;
+ this.currentLevel = e;
+ t = this.levels[e];
+ t.items[t.index] = a;
+ return !0;
+ }
+ }
+ const o = (function BitModelClosure() {
+ const e = 17,
+ t = new Uint8Array([
+ 0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8,
+ 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7,
+ 8, 0, 4, 7, 8,
+ ]),
+ a = new Uint8Array([
+ 0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4,
+ 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7,
+ 7, 0, 8, 8, 8,
+ ]),
+ r = new Uint8Array([
+ 0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7,
+ 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8,
+ 8, 0, 8, 8, 8,
+ ]);
+ return class BitModel {
+ constructor(e, n, i, s, o) {
+ this.width = e;
+ this.height = n;
+ let c;
+ c = 'HH' === i ? r : 'HL' === i ? a : t;
+ this.contextLabelTable = c;
+ const l = e * n;
+ this.neighborsSignificance = new Uint8Array(l);
+ this.coefficentsSign = new Uint8Array(l);
+ let h;
+ h = o > 14 ? new Uint32Array(l) : o > 6 ? new Uint16Array(l) : new Uint8Array(l);
+ this.coefficentsMagnitude = h;
+ this.processingFlags = new Uint8Array(l);
+ const u = new Uint8Array(l);
+ if (0 !== s) for (let e = 0; e < l; e++) u[e] = s;
+ this.bitsDecoded = u;
+ this.reset();
+ }
+ setDecoder(e) {
+ this.decoder = e;
+ }
+ reset() {
+ this.contexts = new Int8Array(19);
+ this.contexts[0] = 8;
+ this.contexts[17] = 92;
+ this.contexts[18] = 6;
+ }
+ setNeighborsSignificance(e, t, a) {
+ const r = this.neighborsSignificance,
+ n = this.width,
+ i = this.height,
+ s = t > 0,
+ o = t + 1 < n;
+ let c;
+ if (e > 0) {
+ c = a - n;
+ s && (r[c - 1] += 16);
+ o && (r[c + 1] += 16);
+ r[c] += 4;
+ }
+ if (e + 1 < i) {
+ c = a + n;
+ s && (r[c - 1] += 16);
+ o && (r[c + 1] += 16);
+ r[c] += 4;
+ }
+ s && (r[a - 1] += 1);
+ o && (r[a + 1] += 1);
+ r[a] |= 128;
+ }
+ runSignificancePropagationPass() {
+ const e = this.decoder,
+ t = this.width,
+ a = this.height,
+ r = this.coefficentsMagnitude,
+ n = this.coefficentsSign,
+ i = this.neighborsSignificance,
+ s = this.processingFlags,
+ o = this.contexts,
+ c = this.contextLabelTable,
+ l = this.bitsDecoded;
+ for (let h = 0; h < a; h += 4)
+ for (let u = 0; u < t; u++) {
+ let d = h * t + u;
+ for (let f = 0; f < 4; f++, d += t) {
+ const t = h + f;
+ if (t >= a) break;
+ s[d] &= -2;
+ if (r[d] || !i[d]) continue;
+ const g = c[i[d]];
+ if (e.readBit(o, g)) {
+ const e = this.decodeSignBit(t, u, d);
+ n[d] = e;
+ r[d] = 1;
+ this.setNeighborsSignificance(t, u, d);
+ s[d] |= 2;
+ }
+ l[d]++;
+ s[d] |= 1;
+ }
+ }
+ }
+ decodeSignBit(e, t, a) {
+ const r = this.width,
+ n = this.height,
+ i = this.coefficentsMagnitude,
+ s = this.coefficentsSign;
+ let o, c, l, h, u, d;
+ h = t > 0 && 0 !== i[a - 1];
+ if (t + 1 < r && 0 !== i[a + 1]) {
+ l = s[a + 1];
+ if (h) {
+ c = s[a - 1];
+ o = 1 - l - c;
+ } else o = 1 - l - l;
+ } else if (h) {
+ c = s[a - 1];
+ o = 1 - c - c;
+ } else o = 0;
+ const f = 3 * o;
+ h = e > 0 && 0 !== i[a - r];
+ if (e + 1 < n && 0 !== i[a + r]) {
+ l = s[a + r];
+ if (h) {
+ c = s[a - r];
+ o = 1 - l - c + f;
+ } else o = 1 - l - l + f;
+ } else if (h) {
+ c = s[a - r];
+ o = 1 - c - c + f;
+ } else o = f;
+ if (o >= 0) {
+ u = 9 + o;
+ d = this.decoder.readBit(this.contexts, u);
+ } else {
+ u = 9 - o;
+ d = 1 ^ this.decoder.readBit(this.contexts, u);
+ }
+ return d;
+ }
+ runMagnitudeRefinementPass() {
+ const e = this.decoder,
+ t = this.width,
+ a = this.height,
+ r = this.coefficentsMagnitude,
+ n = this.neighborsSignificance,
+ i = this.contexts,
+ s = this.bitsDecoded,
+ o = this.processingFlags,
+ c = t * a,
+ l = 4 * t;
+ for (let a, h = 0; h < c; h = a) {
+ a = Math.min(c, h + l);
+ for (let c = 0; c < t; c++)
+ for (let l = h + c; l < a; l += t) {
+ if (!r[l] || 0 != (1 & o[l])) continue;
+ let t = 16;
+ if (0 != (2 & o[l])) {
+ o[l] ^= 2;
+ t = 0 === (127 & n[l]) ? 15 : 14;
+ }
+ const a = e.readBit(i, t);
+ r[l] = (r[l] << 1) | a;
+ s[l]++;
+ o[l] |= 1;
+ }
+ }
+ }
+ runCleanupPass() {
+ const t = this.decoder,
+ a = this.width,
+ r = this.height,
+ n = this.neighborsSignificance,
+ i = this.coefficentsMagnitude,
+ s = this.coefficentsSign,
+ o = this.contexts,
+ c = this.contextLabelTable,
+ l = this.bitsDecoded,
+ h = this.processingFlags,
+ u = a,
+ d = 2 * a,
+ f = 3 * a;
+ let g;
+ for (let p = 0; p < r; p = g) {
+ g = Math.min(p + 4, r);
+ const m = p * a,
+ b = p + 3 < r;
+ for (let r = 0; r < a; r++) {
+ const y = m + r;
+ let w,
+ S = 0,
+ x = y,
+ k = p;
+ if (
+ b &&
+ 0 === h[y] &&
+ 0 === h[y + u] &&
+ 0 === h[y + d] &&
+ 0 === h[y + f] &&
+ 0 === n[y] &&
+ 0 === n[y + u] &&
+ 0 === n[y + d] &&
+ 0 === n[y + f]
+ ) {
+ if (!t.readBit(o, 18)) {
+ l[y]++;
+ l[y + u]++;
+ l[y + d]++;
+ l[y + f]++;
+ continue;
+ }
+ S = (t.readBit(o, e) << 1) | t.readBit(o, e);
+ if (0 !== S) {
+ k = p + S;
+ x += S * a;
+ }
+ w = this.decodeSignBit(k, r, x);
+ s[x] = w;
+ i[x] = 1;
+ this.setNeighborsSignificance(k, r, x);
+ h[x] |= 2;
+ x = y;
+ for (let e = p; e <= k; e++, x += a) l[x]++;
+ S++;
+ }
+ for (k = p + S; k < g; k++, x += a) {
+ if (i[x] || 0 != (1 & h[x])) continue;
+ const e = c[n[x]];
+ if (1 === t.readBit(o, e)) {
+ w = this.decodeSignBit(k, r, x);
+ s[x] = w;
+ i[x] = 1;
+ this.setNeighborsSignificance(k, r, x);
+ h[x] |= 2;
+ }
+ l[x]++;
+ }
+ }
+ }
+ }
+ checkSegmentationSymbol() {
+ const t = this.decoder,
+ a = this.contexts;
+ if (10 !== ((t.readBit(a, e) << 3) | (t.readBit(a, e) << 2) | (t.readBit(a, e) << 1) | t.readBit(a, e)))
+ throw new JpxError('Invalid segmentation symbol');
+ }
+ };
+ })();
+ class Transform {
+ constructor() {
+ this.constructor === Transform && (0, r.unreachable)('Cannot initialize Transform.');
+ }
+ calculate(e, t, a) {
+ let r = e[0];
+ for (let n = 1, i = e.length; n < i; n++) r = this.iterate(r, e[n], t, a);
+ return r;
+ }
+ extend(e, t, a) {
+ let r = t - 1,
+ n = t + 1,
+ i = t + a - 2,
+ s = t + a;
+ e[r--] = e[n++];
+ e[s++] = e[i--];
+ e[r--] = e[n++];
+ e[s++] = e[i--];
+ e[r--] = e[n++];
+ e[s++] = e[i--];
+ e[r] = e[n];
+ e[s] = e[i];
+ }
+ filter(e, t, a) {
+ (0, r.unreachable)('Abstract method `filter` called');
+ }
+ iterate(e, t, a, r) {
+ const n = e.width,
+ i = e.height;
+ let s = e.items;
+ const o = t.width,
+ c = t.height,
+ l = t.items;
+ let h, u, d, f, g, p;
+ for (d = 0, h = 0; h < i; h++) {
+ f = 2 * h * o;
+ for (u = 0; u < n; u++, d++, f += 2) l[f] = s[d];
+ }
+ s = e.items = null;
+ const m = new Float32Array(o + 8);
+ if (1 === o) {
+ if (0 != (1 & a)) for (p = 0, d = 0; p < c; p++, d += o) l[d] *= 0.5;
+ } else
+ for (p = 0, d = 0; p < c; p++, d += o) {
+ m.set(l.subarray(d, d + o), 4);
+ this.extend(m, 4, o);
+ this.filter(m, 4, o);
+ l.set(m.subarray(4, 4 + o), d);
+ }
+ let b = 16;
+ const y = [];
+ for (h = 0; h < b; h++) y.push(new Float32Array(c + 8));
+ let w,
+ S = 0;
+ e = 4 + c;
+ if (1 === c) {
+ if (0 != (1 & r)) for (g = 0; g < o; g++) l[g] *= 0.5;
+ } else
+ for (g = 0; g < o; g++) {
+ if (0 === S) {
+ b = Math.min(o - g, b);
+ for (d = g, f = 4; f < e; d += o, f++) for (w = 0; w < b; w++) y[w][f] = l[d + w];
+ S = b;
+ }
+ S--;
+ const t = y[S];
+ this.extend(t, 4, c);
+ this.filter(t, 4, c);
+ if (0 === S) {
+ d = g - b + 1;
+ for (f = 4; f < e; d += o, f++) for (w = 0; w < b; w++) l[d + w] = y[w][f];
+ }
+ }
+ return {width: o, height: c, items: l};
+ }
+ }
+ class IrreversibleTransform extends Transform {
+ filter(e, t, a) {
+ const r = a >> 1;
+ let n, i, s, o;
+ const c = -1.586134342059924,
+ l = -0.052980118572961,
+ h = 0.882911075530934,
+ u = 0.443506852043971,
+ d = 1.230174104914001;
+ n = (t |= 0) - 3;
+ for (i = r + 4; i--; n += 2) e[n] *= 0.8128930661159609;
+ n = t - 2;
+ s = u * e[n - 1];
+ for (i = r + 3; i--; n += 2) {
+ o = u * e[n + 1];
+ e[n] = d * e[n] - s - o;
+ if (!i--) break;
+ n += 2;
+ s = u * e[n + 1];
+ e[n] = d * e[n] - s - o;
+ }
+ n = t - 1;
+ s = h * e[n - 1];
+ for (i = r + 2; i--; n += 2) {
+ o = h * e[n + 1];
+ e[n] -= s + o;
+ if (!i--) break;
+ n += 2;
+ s = h * e[n + 1];
+ e[n] -= s + o;
+ }
+ n = t;
+ s = l * e[n - 1];
+ for (i = r + 1; i--; n += 2) {
+ o = l * e[n + 1];
+ e[n] -= s + o;
+ if (!i--) break;
+ n += 2;
+ s = l * e[n + 1];
+ e[n] -= s + o;
+ }
+ if (0 !== r) {
+ n = t + 1;
+ s = c * e[n - 1];
+ for (i = r; i--; n += 2) {
+ o = c * e[n + 1];
+ e[n] -= s + o;
+ if (!i--) break;
+ n += 2;
+ s = c * e[n + 1];
+ e[n] -= s + o;
+ }
+ }
+ }
+ }
+ class ReversibleTransform extends Transform {
+ filter(e, t, a) {
+ const r = a >> 1;
+ let n, i;
+ for (n = t |= 0, i = r + 1; i--; n += 2) e[n] -= (e[n - 1] + e[n + 1] + 2) >> 2;
+ for (n = t + 1, i = r; i--; n += 2) e[n] += (e[n - 1] + e[n + 1]) >> 1;
+ }
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.LZWStream = void 0;
+ var r = a(19);
+ class LZWStream extends r.DecodeStream {
+ constructor(e, t, a) {
+ super(t);
+ this.str = e;
+ this.dict = e.dict;
+ this.cachedData = 0;
+ this.bitsCached = 0;
+ const r = 4096,
+ n = {
+ earlyChange: a,
+ codeLength: 9,
+ nextCode: 258,
+ dictionaryValues: new Uint8Array(r),
+ dictionaryLengths: new Uint16Array(r),
+ dictionaryPrevCodes: new Uint16Array(r),
+ currentSequence: new Uint8Array(r),
+ currentSequenceLength: 0,
+ };
+ for (let e = 0; e < 256; ++e) {
+ n.dictionaryValues[e] = e;
+ n.dictionaryLengths[e] = 1;
+ }
+ this.lzwState = n;
+ }
+ readBits(e) {
+ let t = this.bitsCached,
+ a = this.cachedData;
+ for (; t < e; ) {
+ const e = this.str.getByte();
+ if (-1 === e) {
+ this.eof = !0;
+ return null;
+ }
+ a = (a << 8) | e;
+ t += 8;
+ }
+ this.bitsCached = t -= e;
+ this.cachedData = a;
+ this.lastCode = null;
+ return (a >>> t) & ((1 << e) - 1);
+ }
+ readBlock() {
+ let e,
+ t,
+ a,
+ r = 1024;
+ const n = this.lzwState;
+ if (!n) return;
+ const i = n.earlyChange;
+ let s = n.nextCode;
+ const o = n.dictionaryValues,
+ c = n.dictionaryLengths,
+ l = n.dictionaryPrevCodes;
+ let h = n.codeLength,
+ u = n.prevCode;
+ const d = n.currentSequence;
+ let f = n.currentSequenceLength,
+ g = 0,
+ p = this.bufferLength,
+ m = this.ensureBuffer(this.bufferLength + r);
+ for (e = 0; e < 512; e++) {
+ const e = this.readBits(h),
+ n = f > 0;
+ if (e < 256) {
+ d[0] = e;
+ f = 1;
+ } else {
+ if (!(e >= 258)) {
+ if (256 === e) {
+ h = 9;
+ s = 258;
+ f = 0;
+ continue;
+ }
+ this.eof = !0;
+ delete this.lzwState;
+ break;
+ }
+ if (e < s) {
+ f = c[e];
+ for (t = f - 1, a = e; t >= 0; t--) {
+ d[t] = o[a];
+ a = l[a];
+ }
+ } else d[f++] = d[0];
+ }
+ if (n) {
+ l[s] = u;
+ c[s] = c[u] + 1;
+ o[s] = d[0];
+ s++;
+ h = (s + i) & (s + i - 1) ? h : 0 | Math.min(Math.log(s + i) / 0.6931471805599453 + 1, 12);
+ }
+ u = e;
+ g += f;
+ if (r < g) {
+ do {
+ r += 512;
+ } while (r < g);
+ m = this.ensureBuffer(this.bufferLength + r);
+ }
+ for (t = 0; t < f; t++) m[p++] = d[t];
+ }
+ n.nextCode = s;
+ n.codeLength = h;
+ n.prevCode = u;
+ n.currentSequenceLength = f;
+ this.bufferLength = p;
+ }
+ }
+ t.LZWStream = LZWStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.PredictorStream = void 0;
+ var r = a(19),
+ n = a(5),
+ i = a(2);
+ class PredictorStream extends r.DecodeStream {
+ constructor(e, t, a) {
+ super(t);
+ if (!(a instanceof n.Dict)) return e;
+ const r = (this.predictor = a.get('Predictor') || 1);
+ if (r <= 1) return e;
+ if (2 !== r && (r < 10 || r > 15)) throw new i.FormatError(`Unsupported predictor: ${r}`);
+ this.readBlock = 2 === r ? this.readBlockTiff : this.readBlockPng;
+ this.str = e;
+ this.dict = e.dict;
+ const s = (this.colors = a.get('Colors') || 1),
+ o = (this.bits = a.get('BPC', 'BitsPerComponent') || 8),
+ c = (this.columns = a.get('Columns') || 1);
+ this.pixBytes = (s * o + 7) >> 3;
+ this.rowBytes = (c * s * o + 7) >> 3;
+ return this;
+ }
+ readBlockTiff() {
+ const e = this.rowBytes,
+ t = this.bufferLength,
+ a = this.ensureBuffer(t + e),
+ r = this.bits,
+ n = this.colors,
+ i = this.str.getBytes(e);
+ this.eof = !i.length;
+ if (this.eof) return;
+ let s,
+ o = 0,
+ c = 0,
+ l = 0,
+ h = 0,
+ u = t;
+ if (1 === r && 1 === n)
+ for (s = 0; s < e; ++s) {
+ let e = i[s] ^ o;
+ e ^= e >> 1;
+ e ^= e >> 2;
+ e ^= e >> 4;
+ o = (1 & e) << 7;
+ a[u++] = e;
+ }
+ else if (8 === r) {
+ for (s = 0; s < n; ++s) a[u++] = i[s];
+ for (; s < e; ++s) {
+ a[u] = a[u - n] + i[s];
+ u++;
+ }
+ } else if (16 === r) {
+ const t = 2 * n;
+ for (s = 0; s < t; ++s) a[u++] = i[s];
+ for (; s < e; s += 2) {
+ const e = ((255 & i[s]) << 8) + (255 & i[s + 1]) + ((255 & a[u - t]) << 8) + (255 & a[u - t + 1]);
+ a[u++] = (e >> 8) & 255;
+ a[u++] = 255 & e;
+ }
+ } else {
+ const e = new Uint8Array(n + 1),
+ u = (1 << r) - 1;
+ let d = 0,
+ f = t;
+ const g = this.columns;
+ for (s = 0; s < g; ++s)
+ for (let t = 0; t < n; ++t) {
+ if (l < r) {
+ o = (o << 8) | (255 & i[d++]);
+ l += 8;
+ }
+ e[t] = (e[t] + (o >> (l - r))) & u;
+ l -= r;
+ c = (c << r) | e[t];
+ h += r;
+ if (h >= 8) {
+ a[f++] = (c >> (h - 8)) & 255;
+ h -= 8;
+ }
+ }
+ h > 0 && (a[f++] = (c << (8 - h)) + (o & ((1 << (8 - h)) - 1)));
+ }
+ this.bufferLength += e;
+ }
+ readBlockPng() {
+ const e = this.rowBytes,
+ t = this.pixBytes,
+ a = this.str.getByte(),
+ r = this.str.getBytes(e);
+ this.eof = !r.length;
+ if (this.eof) return;
+ const n = this.bufferLength,
+ s = this.ensureBuffer(n + e);
+ let o = s.subarray(n - e, n);
+ 0 === o.length && (o = new Uint8Array(e));
+ let c,
+ l,
+ h,
+ u = n;
+ switch (a) {
+ case 0:
+ for (c = 0; c < e; ++c) s[u++] = r[c];
+ break;
+ case 1:
+ for (c = 0; c < t; ++c) s[u++] = r[c];
+ for (; c < e; ++c) {
+ s[u] = (s[u - t] + r[c]) & 255;
+ u++;
+ }
+ break;
+ case 2:
+ for (c = 0; c < e; ++c) s[u++] = (o[c] + r[c]) & 255;
+ break;
+ case 3:
+ for (c = 0; c < t; ++c) s[u++] = (o[c] >> 1) + r[c];
+ for (; c < e; ++c) {
+ s[u] = (((o[c] + s[u - t]) >> 1) + r[c]) & 255;
+ u++;
+ }
+ break;
+ case 4:
+ for (c = 0; c < t; ++c) {
+ l = o[c];
+ h = r[c];
+ s[u++] = l + h;
+ }
+ for (; c < e; ++c) {
+ l = o[c];
+ const e = o[c - t],
+ a = s[u - t],
+ n = a + l - e;
+ let i = n - a;
+ i < 0 && (i = -i);
+ let d = n - l;
+ d < 0 && (d = -d);
+ let f = n - e;
+ f < 0 && (f = -f);
+ h = r[c];
+ s[u++] = i <= d && i <= f ? a + h : d <= f ? l + h : e + h;
+ }
+ break;
+ default:
+ throw new i.FormatError(`Unsupported predictor: ${a}`);
+ }
+ this.bufferLength += e;
+ }
+ }
+ t.PredictorStream = PredictorStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.RunLengthStream = void 0;
+ var r = a(19);
+ class RunLengthStream extends r.DecodeStream {
+ constructor(e, t) {
+ super(t);
+ this.str = e;
+ this.dict = e.dict;
+ }
+ readBlock() {
+ const e = this.str.getBytes(2);
+ if (!e || e.length < 2 || 128 === e[0]) {
+ this.eof = !0;
+ return;
+ }
+ let t,
+ a = this.bufferLength,
+ r = e[0];
+ if (r < 128) {
+ t = this.ensureBuffer(a + r + 1);
+ t[a++] = e[1];
+ if (r > 0) {
+ const e = this.str.getBytes(r);
+ t.set(e, a);
+ a += r;
+ }
+ } else {
+ r = 257 - r;
+ const n = e[1];
+ t = this.ensureBuffer(a + r + 1);
+ for (let e = 0; e < r; e++) t[a++] = n;
+ }
+ this.bufferLength = a;
+ }
+ }
+ t.RunLengthStream = RunLengthStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Font = t.ErrorFont = void 0;
+ var r = a(2),
+ n = a(35),
+ i = a(38),
+ s = a(40),
+ o = a(39),
+ c = a(37),
+ l = a(41),
+ h = a(42),
+ u = a(43),
+ d = a(44),
+ f = a(45),
+ g = a(46),
+ p = a(16),
+ m = a(47),
+ b = a(6),
+ y = a(10),
+ w = a(48);
+ const S = [
+ [57344, 63743],
+ [1048576, 1114109],
+ ],
+ x = 1e3,
+ k = [
+ 'ascent',
+ 'bbox',
+ 'black',
+ 'bold',
+ 'charProcOperatorList',
+ 'composite',
+ 'cssFontInfo',
+ 'data',
+ 'defaultVMetrics',
+ 'defaultWidth',
+ 'descent',
+ 'fallbackName',
+ 'fontMatrix',
+ 'fontType',
+ 'isType3Font',
+ 'italic',
+ 'loadedName',
+ 'mimetype',
+ 'missingFile',
+ 'name',
+ 'remeasure',
+ 'subtype',
+ 'type',
+ 'vertical',
+ ],
+ C = [
+ 'cMap',
+ 'defaultEncoding',
+ 'differences',
+ 'isMonospace',
+ 'isSerifFont',
+ 'isSymbolicFont',
+ 'seacMap',
+ 'toFontChar',
+ 'toUnicode',
+ 'vmetrics',
+ 'widths',
+ ];
+ function adjustWidths(e) {
+ if (!e.fontMatrix) return;
+ if (e.fontMatrix[0] === r.FONT_IDENTITY_MATRIX[0]) return;
+ const t = 0.001 / e.fontMatrix[0],
+ a = e.widths;
+ for (const e in a) a[e] *= t;
+ e.defaultWidth *= t;
+ }
+ function amendFallbackToUnicode(e) {
+ if (!e.fallbackToUnicode) return;
+ if (e.toUnicode instanceof h.IdentityToUnicodeMap) return;
+ const t = [];
+ for (const a in e.fallbackToUnicode) e.toUnicode.has(a) || (t[a] = e.fallbackToUnicode[a]);
+ t.length > 0 && e.toUnicode.amend(t);
+ }
+ class Glyph {
+ constructor(e, t, a, r, n, i, o, c, l) {
+ this.originalCharCode = e;
+ this.fontChar = t;
+ this.unicode = a;
+ this.accent = r;
+ this.width = n;
+ this.vmetric = i;
+ this.operatorListId = o;
+ this.isSpace = c;
+ this.isInFont = l;
+ const h = (0, s.getCharUnicodeCategory)(a);
+ this.isWhitespace = h.isWhitespace;
+ this.isZeroWidthDiacritic = h.isZeroWidthDiacritic;
+ this.isInvisibleFormatMark = h.isInvisibleFormatMark;
+ }
+ matchesForCache(e, t, a, r, n, i, s, o, c) {
+ return (
+ this.originalCharCode === e &&
+ this.fontChar === t &&
+ this.unicode === a &&
+ this.accent === r &&
+ this.width === n &&
+ this.vmetric === i &&
+ this.operatorListId === s &&
+ this.isSpace === o &&
+ this.isInFont === c
+ );
+ }
+ }
+ function int16(e, t) {
+ return (e << 8) + t;
+ }
+ function writeSignedInt16(e, t, a) {
+ e[t + 1] = a;
+ e[t] = a >>> 8;
+ }
+ function signedInt16(e, t) {
+ const a = (e << 8) + t;
+ return 32768 & a ? a - 65536 : a;
+ }
+ function string16(e) {
+ return String.fromCharCode((e >> 8) & 255, 255 & e);
+ }
+ function safeString16(e) {
+ e > 32767 ? (e = 32767) : e < -32768 && (e = -32768);
+ return String.fromCharCode((e >> 8) & 255, 255 & e);
+ }
+ function isTrueTypeCollectionFile(e) {
+ const t = e.peekBytes(4);
+ return 'ttcf' === (0, r.bytesToString)(t);
+ }
+ function getFontFileType(e, {type: t, subtype: a, composite: n}) {
+ let i, s;
+ if (
+ (function isTrueTypeFile(e) {
+ const t = e.peekBytes(4);
+ return 65536 === (0, b.readUint32)(t, 0) || 'true' === (0, r.bytesToString)(t);
+ })(e) ||
+ isTrueTypeCollectionFile(e)
+ )
+ i = n ? 'CIDFontType2' : 'TrueType';
+ else if (
+ (function isOpenTypeFile(e) {
+ const t = e.peekBytes(4);
+ return 'OTTO' === (0, r.bytesToString)(t);
+ })(e)
+ )
+ i = n ? 'CIDFontType2' : 'OpenType';
+ else if (
+ (function isType1File(e) {
+ const t = e.peekBytes(2);
+ return (37 === t[0] && 33 === t[1]) || (128 === t[0] && 1 === t[1]);
+ })(e)
+ )
+ i = n ? 'CIDFontType0' : 'MMType1' === t ? 'MMType1' : 'Type1';
+ else if (
+ (function isCFFFile(e) {
+ const t = e.peekBytes(4);
+ return t[0] >= 1 && t[3] >= 1 && t[3] <= 4;
+ })(e)
+ )
+ if (n) {
+ i = 'CIDFontType0';
+ s = 'CIDFontType0C';
+ } else {
+ i = 'MMType1' === t ? 'MMType1' : 'Type1';
+ s = 'Type1C';
+ }
+ else {
+ (0, r.warn)('getFontFileType: Unable to detect correct font file Type/Subtype.');
+ i = t;
+ s = a;
+ }
+ return [i, s];
+ }
+ function applyStandardFontGlyphMap(e, t) {
+ for (const a in t) e[+a] = t[a];
+ }
+ function buildToFontChar(e, t, a) {
+ const r = [];
+ let n;
+ for (let a = 0, i = e.length; a < i; a++) {
+ n = (0, s.getUnicodeForGlyph)(e[a], t);
+ -1 !== n && (r[a] = n);
+ }
+ for (const e in a) {
+ n = (0, s.getUnicodeForGlyph)(a[e], t);
+ -1 !== n && (r[+e] = n);
+ }
+ return r;
+ }
+ function convertCidString(e, t, a = !1) {
+ switch (t.length) {
+ case 1:
+ return t.charCodeAt(0);
+ case 2:
+ return (t.charCodeAt(0) << 8) | t.charCodeAt(1);
+ }
+ const n = `Unsupported CID string (charCode ${e}): "${t}".`;
+ if (a) throw new r.FormatError(n);
+ (0, r.warn)(n);
+ return t;
+ }
+ function adjustMapping(e, t, a, n) {
+ const i = Object.create(null),
+ s = new Map(),
+ o = [],
+ c = new Set();
+ let l = 0;
+ const h = S[l][0];
+ let u = h,
+ d = S[l][1];
+ for (let f in e) {
+ f |= 0;
+ let g = e[f];
+ if (!t(g)) continue;
+ if (u > d) {
+ l++;
+ if (l >= S.length) {
+ (0, r.warn)('Ran out of space in font private use area.');
+ break;
+ }
+ u = S[l][0];
+ d = S[l][1];
+ }
+ const p = u++;
+ 0 === g && (g = a);
+ let m = n.get(f);
+ 'string' == typeof m && (m = m.codePointAt(0));
+ if (m && m < h && !c.has(g)) {
+ s.set(m, g);
+ c.add(g);
+ }
+ i[p] = g;
+ o[f] = p;
+ }
+ return {toFontChar: o, charCodeToGlyphId: i, toUnicodeExtraMap: s, nextAvailableFontCharCode: u};
+ }
+ function createCmapTable(e, t, a) {
+ const n = (function getRanges(e, t, a) {
+ const r = [];
+ for (const t in e) e[t] >= a || r.push({fontCharCode: 0 | t, glyphId: e[t]});
+ if (t) for (const [e, n] of t) n >= a || r.push({fontCharCode: e, glyphId: n});
+ 0 === r.length && r.push({fontCharCode: 0, glyphId: 0});
+ r.sort(function fontGetRangesSort(e, t) {
+ return e.fontCharCode - t.fontCharCode;
+ });
+ const n = [],
+ i = r.length;
+ for (let e = 0; e < i; ) {
+ const t = r[e].fontCharCode,
+ a = [r[e].glyphId];
+ ++e;
+ let s = t;
+ for (; e < i && s + 1 === r[e].fontCharCode; ) {
+ a.push(r[e].glyphId);
+ ++s;
+ ++e;
+ if (65535 === s) break;
+ }
+ n.push([t, s, a]);
+ }
+ return n;
+ })(e, t, a),
+ i = n.at(-1)[1] > 65535 ? 2 : 1;
+ let s,
+ o,
+ c,
+ l,
+ h = '\0\0' + string16(i) + '\0\0' + (0, r.string32)(4 + 8 * i);
+ for (s = n.length - 1; s >= 0 && !(n[s][0] <= 65535); --s);
+ const u = s + 1;
+ n[s][0] < 65535 && 65535 === n[s][1] && (n[s][1] = 65534);
+ const d = n[s][1] < 65535 ? 1 : 0,
+ f = u + d,
+ g = m.OpenTypeFileBuilder.getSearchParams(f, 2);
+ let p,
+ b,
+ y,
+ w,
+ S = '',
+ x = '',
+ k = '',
+ C = '',
+ v = '',
+ F = 0;
+ for (s = 0, o = u; s < o; s++) {
+ p = n[s];
+ b = p[0];
+ y = p[1];
+ S += string16(b);
+ x += string16(y);
+ w = p[2];
+ let e = !0;
+ for (c = 1, l = w.length; c < l; ++c)
+ if (w[c] !== w[c - 1] + 1) {
+ e = !1;
+ break;
+ }
+ if (e) {
+ k += string16((w[0] - b) & 65535);
+ C += string16(0);
+ } else {
+ const e = 2 * (f - s) + 2 * F;
+ F += y - b + 1;
+ k += string16(0);
+ C += string16(e);
+ for (c = 0, l = w.length; c < l; ++c) v += string16(w[c]);
+ }
+ }
+ if (d > 0) {
+ x += 'ÿÿ';
+ S += 'ÿÿ';
+ k += '\0';
+ C += '\0\0';
+ }
+ const O =
+ '\0\0' +
+ string16(2 * f) +
+ string16(g.range) +
+ string16(g.entry) +
+ string16(g.rangeShift) +
+ x +
+ '\0\0' +
+ S +
+ k +
+ C +
+ v;
+ let T = '',
+ M = '';
+ if (i > 1) {
+ h += '\0\0\n' + (0, r.string32)(4 + 8 * i + 4 + O.length);
+ T = '';
+ for (s = 0, o = n.length; s < o; s++) {
+ p = n[s];
+ b = p[0];
+ w = p[2];
+ let e = w[0];
+ for (c = 1, l = w.length; c < l; ++c)
+ if (w[c] !== w[c - 1] + 1) {
+ y = p[0] + c - 1;
+ T += (0, r.string32)(b) + (0, r.string32)(y) + (0, r.string32)(e);
+ b = y + 1;
+ e = w[c];
+ }
+ T += (0, r.string32)(b) + (0, r.string32)(p[1]) + (0, r.string32)(e);
+ }
+ M = '\0\f\0\0' + (0, r.string32)(T.length + 16) + '\0\0\0\0' + (0, r.string32)(T.length / 12);
+ }
+ return h + '\0' + string16(O.length + 4) + O + M + T;
+ }
+ function createOS2Table(e, t, a) {
+ a = a || {unitsPerEm: 0, yMax: 0, yMin: 0, ascent: 0, descent: 0};
+ let n = 0,
+ i = 0,
+ o = 0,
+ c = 0,
+ l = null,
+ h = 0;
+ if (t) {
+ for (let e in t) {
+ e |= 0;
+ (l > e || !l) && (l = e);
+ h < e && (h = e);
+ const t = (0, s.getUnicodeRangeFor)(e);
+ if (t < 32) n |= 1 << t;
+ else if (t < 64) i |= 1 << (t - 32);
+ else if (t < 96) o |= 1 << (t - 64);
+ else {
+ if (!(t < 123)) throw new r.FormatError('Unicode ranges Bits > 123 are reserved for internal usage');
+ c |= 1 << (t - 96);
+ }
+ }
+ h > 65535 && (h = 65535);
+ } else {
+ l = 0;
+ h = 255;
+ }
+ const u = e.bbox || [0, 0, 0, 0],
+ d = a.unitsPerEm || 1 / (e.fontMatrix || r.FONT_IDENTITY_MATRIX)[0],
+ f = e.ascentScaled ? 1 : d / x,
+ g = a.ascent || Math.round(f * (e.ascent || u[3]));
+ let p = a.descent || Math.round(f * (e.descent || u[1]));
+ p > 0 && e.descent > 0 && u[1] < 0 && (p = -p);
+ const m = a.yMax || g,
+ b = -a.yMin || -p;
+ return (
+ '\0$ô\0\0\0»\0\0\0»\0\0ß\x001\0\0\0\0' +
+ String.fromCharCode(e.fixedPitch ? 9 : 0) +
+ '\0\0\0\0\0\0' +
+ (0, r.string32)(n) +
+ (0, r.string32)(i) +
+ (0, r.string32)(o) +
+ (0, r.string32)(c) +
+ '*21*' +
+ string16(e.italicAngle ? 1 : 0) +
+ string16(l || e.firstChar) +
+ string16(h || e.lastChar) +
+ string16(g) +
+ string16(p) +
+ '\0d' +
+ string16(m) +
+ string16(b) +
+ '\0\0\0\0\0\0\0\0' +
+ string16(e.xHeight) +
+ string16(e.capHeight) +
+ string16(0) +
+ string16(l || e.firstChar) +
+ '\0'
+ );
+ }
+ function createPostTable(e) {
+ const t = Math.floor(65536 * e.italicAngle);
+ return (
+ '\0\0\0' +
+ (0, r.string32)(t) +
+ '\0\0\0\0' +
+ (0, r.string32)(e.fixedPitch ? 1 : 0) +
+ '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'
+ );
+ }
+ function createPostscriptName(e) {
+ return e.replace(/[^\x21-\x7E]|[[\](){}<>/%]/g, '').slice(0, 63);
+ }
+ function createNameTable(e, t) {
+ t || (t = [[], []]);
+ const a = [
+ t[0][0] || 'Original licence',
+ t[0][1] || e,
+ t[0][2] || 'Unknown',
+ t[0][3] || 'uniqueID',
+ t[0][4] || e,
+ t[0][5] || 'Version 0.11',
+ t[0][6] || createPostscriptName(e),
+ t[0][7] || 'Unknown',
+ t[0][8] || 'Unknown',
+ t[0][9] || 'Unknown',
+ ],
+ r = [];
+ let n, i, s, o, c;
+ for (n = 0, i = a.length; n < i; n++) {
+ c = t[1][n] || a[n];
+ const e = [];
+ for (s = 0, o = c.length; s < o; s++) e.push(string16(c.charCodeAt(s)));
+ r.push(e.join(''));
+ }
+ const l = [a, r],
+ h = ['\0', '\0'],
+ u = ['\0\0', '\0'],
+ d = ['\0\0', '\t'],
+ f = a.length * h.length;
+ let g = '\0\0' + string16(f) + string16(12 * f + 6),
+ p = 0;
+ for (n = 0, i = h.length; n < i; n++) {
+ const e = l[n];
+ for (s = 0, o = e.length; s < o; s++) {
+ c = e[s];
+ g += h[n] + u[n] + d[n] + string16(s) + string16(c.length) + string16(p);
+ p += c.length;
+ }
+ }
+ g += a.join('') + r.join('');
+ return g;
+ }
+ t.Font = class Font {
+ constructor(e, t, a) {
+ this.name = e;
+ this.psName = null;
+ this.mimetype = null;
+ this.disableFontFace = !1;
+ this.loadedName = a.loadedName;
+ this.isType3Font = a.isType3Font;
+ this.missingFile = !1;
+ this.cssFontInfo = a.cssFontInfo;
+ this._charsCache = Object.create(null);
+ this._glyphCache = Object.create(null);
+ let n = !!(a.flags & i.FontFlags.Serif);
+ if (!n && !a.isSimulatedFlags) {
+ const t = e.replace(/[,_]/g, '-').split('-')[0],
+ a = (0, l.getSerifFonts)();
+ for (const e of t.split('+'))
+ if (a[e]) {
+ n = !0;
+ break;
+ }
+ }
+ this.isSerifFont = n;
+ this.isSymbolicFont = !!(a.flags & i.FontFlags.Symbolic);
+ this.isMonospace = !!(a.flags & i.FontFlags.FixedPitch);
+ let s = a.type,
+ o = a.subtype;
+ this.type = s;
+ this.subtype = o;
+ let c,
+ h = 'sans-serif';
+ this.isMonospace ? (h = 'monospace') : this.isSerifFont && (h = 'serif');
+ this.fallbackName = h;
+ this.differences = a.differences;
+ this.widths = a.widths;
+ this.defaultWidth = a.defaultWidth;
+ this.composite = a.composite;
+ this.cMap = a.cMap;
+ this.capHeight = a.capHeight / x;
+ this.ascent = a.ascent / x;
+ this.descent = a.descent / x;
+ this.lineHeight = this.ascent - this.descent;
+ this.fontMatrix = a.fontMatrix;
+ this.bbox = a.bbox;
+ this.defaultEncoding = a.defaultEncoding;
+ this.toUnicode = a.toUnicode;
+ this.toFontChar = [];
+ if ('Type3' !== a.type) {
+ this.cidEncoding = a.cidEncoding || '';
+ this.vertical = !!a.vertical;
+ if (this.vertical) {
+ this.vmetrics = a.vmetrics;
+ this.defaultVMetrics = a.defaultVMetrics;
+ }
+ if (t && !t.isEmpty) {
+ [s, o] = getFontFileType(t, a);
+ (s === this.type && o === this.subtype) ||
+ (0, r.info)(
+ `Inconsistent font file Type/SubType, expected: ${this.type}/${this.subtype} but found: ${s}/${o}.`
+ );
+ try {
+ switch (s) {
+ case 'MMType1':
+ (0, r.info)('MMType1 font (' + e + '), falling back to Type1.');
+ case 'Type1':
+ case 'CIDFontType0':
+ this.mimetype = 'font/opentype';
+ const n =
+ 'Type1C' === o || 'CIDFontType0C' === o ? new u.CFFFont(t, a) : new w.Type1Font(e, t, a);
+ adjustWidths(a);
+ c = this.convert(e, n, a);
+ break;
+ case 'OpenType':
+ case 'TrueType':
+ case 'CIDFontType2':
+ this.mimetype = 'font/opentype';
+ c = this.checkAndRepair(e, t, a);
+ if (this.isOpenType) {
+ adjustWidths(a);
+ s = 'OpenType';
+ }
+ break;
+ default:
+ throw new r.FormatError(`Font ${s} is not supported`);
+ }
+ } catch (e) {
+ (0, r.warn)(e);
+ this.fallbackToSystemFont(a);
+ return;
+ }
+ amendFallbackToUnicode(a);
+ this.data = c;
+ this.fontType = (0, i.getFontType)(s, o, a.isStandardFont);
+ this.fontMatrix = a.fontMatrix;
+ this.widths = a.widths;
+ this.defaultWidth = a.defaultWidth;
+ this.toUnicode = a.toUnicode;
+ this.seacMap = a.seacMap;
+ } else {
+ t && (0, r.warn)('Font file is empty in "' + e + '" (' + this.loadedName + ')');
+ this.fallbackToSystemFont(a);
+ }
+ } else {
+ for (let e = 0; e < 256; e++) this.toFontChar[e] = this.differences[e] || a.defaultEncoding[e];
+ this.fontType = r.FontType.TYPE3;
+ }
+ }
+ get renderer() {
+ const e = d.FontRendererFactory.create(this, i.SEAC_ANALYSIS_ENABLED);
+ return (0, r.shadow)(this, 'renderer', e);
+ }
+ exportData(e = !1) {
+ const t = e ? [...k, ...C] : k,
+ a = Object.create(null);
+ let r, n;
+ for (r of t) {
+ n = this[r];
+ void 0 !== n && (a[r] = n);
+ }
+ return a;
+ }
+ fallbackToSystemFont(e) {
+ this.missingFile = !0;
+ const t = this.name,
+ a = this.type,
+ n = this.subtype;
+ let u = (0, i.normalizeFontName)(t);
+ const d = (0, l.getStdFontMap)(),
+ g = (0, l.getNonStdFontMap)(),
+ p = !!d[u],
+ m = !(!g[u] || !d[g[u]]);
+ u = d[u] || g[u] || u;
+ const b = (0, f.getFontBasicMetrics)()[u];
+ if (b) {
+ isNaN(this.ascent) && (this.ascent = b.ascent / x);
+ isNaN(this.descent) && (this.descent = b.descent / x);
+ isNaN(this.capHeight) && (this.capHeight = b.capHeight / x);
+ }
+ this.bold = -1 !== u.search(/bold/gi);
+ this.italic = -1 !== u.search(/oblique/gi) || -1 !== u.search(/italic/gi);
+ this.black = -1 !== t.search(/Black/g);
+ const y = -1 !== t.search(/Narrow/g);
+ this.remeasure = (!p || y) && Object.keys(this.widths).length > 0;
+ if ((p || m) && 'CIDFontType2' === a && this.cidEncoding.startsWith('Identity-')) {
+ const a = e.cidToGidMap,
+ r = [];
+ applyStandardFontGlyphMap(r, (0, l.getGlyphMapForStandardFonts)());
+ /Arial-?Black/i.test(t)
+ ? applyStandardFontGlyphMap(r, (0, l.getSupplementalGlyphMapForArialBlack)())
+ : /Calibri/i.test(t) && applyStandardFontGlyphMap(r, (0, l.getSupplementalGlyphMapForCalibri)());
+ if (a) {
+ for (const e in r) {
+ const t = r[e];
+ void 0 !== a[t] && (r[+e] = a[t]);
+ }
+ a.length !== this.toUnicode.length &&
+ e.hasIncludedToUnicodeMap &&
+ this.toUnicode instanceof h.IdentityToUnicodeMap &&
+ this.toUnicode.forEach(function (e, t) {
+ const n = r[e];
+ void 0 === a[n] && (r[+e] = t);
+ });
+ }
+ this.toUnicode instanceof h.IdentityToUnicodeMap ||
+ this.toUnicode.forEach(function (e, t) {
+ r[+e] = t;
+ });
+ this.toFontChar = r;
+ this.toUnicode = new h.ToUnicodeMap(r);
+ } else if (/Symbol/i.test(u))
+ this.toFontChar = buildToFontChar(c.SymbolSetEncoding, (0, o.getGlyphsUnicode)(), this.differences);
+ else if (/Dingbats/i.test(u)) {
+ /Wingdings/i.test(t) && (0, r.warn)('Non-embedded Wingdings font, falling back to ZapfDingbats.');
+ this.toFontChar = buildToFontChar(
+ c.ZapfDingbatsEncoding,
+ (0, o.getDingbatsGlyphsUnicode)(),
+ this.differences
+ );
+ } else if (p) {
+ const e = buildToFontChar(this.defaultEncoding, (0, o.getGlyphsUnicode)(), this.differences);
+ 'CIDFontType2' !== a ||
+ this.cidEncoding.startsWith('Identity-') ||
+ this.toUnicode instanceof h.IdentityToUnicodeMap ||
+ this.toUnicode.forEach(function (t, a) {
+ e[+t] = a;
+ });
+ this.toFontChar = e;
+ } else {
+ const e = (0, o.getGlyphsUnicode)(),
+ a = [];
+ this.toUnicode.forEach((t, r) => {
+ if (!this.composite) {
+ const a = this.differences[t] || this.defaultEncoding[t],
+ n = (0, s.getUnicodeForGlyph)(a, e);
+ -1 !== n && (r = n);
+ }
+ a[+t] = r;
+ });
+ this.composite &&
+ this.toUnicode instanceof h.IdentityToUnicodeMap &&
+ /Verdana/i.test(t) &&
+ applyStandardFontGlyphMap(a, (0, l.getGlyphMapForStandardFonts)());
+ this.toFontChar = a;
+ }
+ amendFallbackToUnicode(e);
+ this.loadedName = u.split('-')[0];
+ this.fontType = (0, i.getFontType)(a, n, e.isStandardFont);
+ }
+ checkAndRepair(e, t, a) {
+ const s = [
+ 'OS/2',
+ 'cmap',
+ 'head',
+ 'hhea',
+ 'hmtx',
+ 'maxp',
+ 'name',
+ 'post',
+ 'loca',
+ 'glyf',
+ 'fpgm',
+ 'prep',
+ 'cvt ',
+ 'CFF ',
+ ];
+ function readTables(e, t) {
+ const a = Object.create(null);
+ a['OS/2'] = null;
+ a.cmap = null;
+ a.head = null;
+ a.hhea = null;
+ a.hmtx = null;
+ a.maxp = null;
+ a.name = null;
+ a.post = null;
+ for (let r = 0; r < t; r++) {
+ const t = readTableEntry(e);
+ s.includes(t.tag) && 0 !== t.length && (a[t.tag] = t);
+ }
+ return a;
+ }
+ function readTableEntry(e) {
+ const t = e.getString(4),
+ a = e.getInt32() >>> 0,
+ r = e.getInt32() >>> 0,
+ n = e.getInt32() >>> 0,
+ i = e.pos;
+ e.pos = e.start || 0;
+ e.skip(r);
+ const s = e.getBytes(n);
+ e.pos = i;
+ if ('head' === t) {
+ s[8] = s[9] = s[10] = s[11] = 0;
+ s[17] |= 32;
+ }
+ return {tag: t, checksum: a, length: n, offset: r, data: s};
+ }
+ function readOpenTypeHeader(e) {
+ return {
+ version: e.getString(4),
+ numTables: e.getUint16(),
+ searchRange: e.getUint16(),
+ entrySelector: e.getUint16(),
+ rangeShift: e.getUint16(),
+ };
+ }
+ function sanitizeGlyph(e, t, a, r, n, i) {
+ const s = {length: 0, sizeOfInstructions: 0};
+ if (a - t <= 12) return s;
+ const o = e.subarray(t, a);
+ let c = signedInt16(o[0], o[1]);
+ if (c < 0) {
+ c = -1;
+ writeSignedInt16(o, 0, c);
+ r.set(o, n);
+ s.length = o.length;
+ return s;
+ }
+ let l,
+ h = 10,
+ u = 0;
+ for (l = 0; l < c; l++) {
+ u = ((o[h] << 8) | o[h + 1]) + 1;
+ h += 2;
+ }
+ const d = h,
+ f = (o[h] << 8) | o[h + 1];
+ s.sizeOfInstructions = f;
+ h += 2 + f;
+ const g = h;
+ let p = 0;
+ for (l = 0; l < u; l++) {
+ const e = o[h++];
+ 192 & e && (o[h - 1] = 63 & e);
+ let t = 2;
+ 2 & e ? (t = 1) : 16 & e && (t = 0);
+ let a = 2;
+ 4 & e ? (a = 1) : 32 & e && (a = 0);
+ const r = t + a;
+ p += r;
+ if (8 & e) {
+ const e = o[h++];
+ l += e;
+ p += e * r;
+ }
+ }
+ if (0 === p) return s;
+ let m = h + p;
+ if (m > o.length) return s;
+ if (!i && f > 0) {
+ r.set(o.subarray(0, d), n);
+ r.set([0, 0], n + d);
+ r.set(o.subarray(g, m), n + d + 2);
+ m -= f;
+ o.length - m > 3 && (m = (m + 3) & -4);
+ s.length = m;
+ return s;
+ }
+ if (o.length - m > 3) {
+ m = (m + 3) & -4;
+ r.set(o.subarray(0, m), n);
+ s.length = m;
+ return s;
+ }
+ r.set(o, n);
+ s.length = o.length;
+ return s;
+ }
+ function readNameTable(e) {
+ const a = (t.start || 0) + e.offset;
+ t.pos = a;
+ const r = [[], []],
+ n = e.length,
+ i = a + n;
+ if (0 !== t.getUint16() || n < 6) return r;
+ const s = t.getUint16(),
+ o = t.getUint16(),
+ c = [];
+ let l, h;
+ for (l = 0; l < s && t.pos + 12 <= i; l++) {
+ const e = {
+ platform: t.getUint16(),
+ encoding: t.getUint16(),
+ language: t.getUint16(),
+ name: t.getUint16(),
+ length: t.getUint16(),
+ offset: t.getUint16(),
+ };
+ ((1 === e.platform && 0 === e.encoding && 0 === e.language) ||
+ (3 === e.platform && 1 === e.encoding && 1033 === e.language)) &&
+ c.push(e);
+ }
+ for (l = 0, h = c.length; l < h; l++) {
+ const e = c[l];
+ if (e.length <= 0) continue;
+ const n = a + o + e.offset;
+ if (n + e.length > i) continue;
+ t.pos = n;
+ const s = e.name;
+ if (e.encoding) {
+ let a = '';
+ for (let r = 0, n = e.length; r < n; r += 2) a += String.fromCharCode(t.getUint16());
+ r[1][s] = a;
+ } else r[0][s] = t.getString(e.length);
+ }
+ return r;
+ }
+ const l = [
+ 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1,
+ -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1,
+ -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1,
+ -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0,
+ 0, 0, -1, -1, -1, -2,
+ ];
+ function sanitizeTTProgram(e, t) {
+ let a,
+ n,
+ i,
+ s,
+ o,
+ c = e.data,
+ h = 0,
+ u = 0,
+ d = 0;
+ const f = [],
+ g = [],
+ p = [];
+ let m = t.tooComplexToFollowFunctions,
+ b = !1,
+ y = 0,
+ w = 0;
+ for (let e = c.length; h < e; ) {
+ const e = c[h++];
+ if (64 === e) {
+ n = c[h++];
+ if (b || w) h += n;
+ else for (a = 0; a < n; a++) f.push(c[h++]);
+ } else if (65 === e) {
+ n = c[h++];
+ if (b || w) h += 2 * n;
+ else
+ for (a = 0; a < n; a++) {
+ i = c[h++];
+ f.push((i << 8) | c[h++]);
+ }
+ } else if (176 == (248 & e)) {
+ n = e - 176 + 1;
+ if (b || w) h += n;
+ else for (a = 0; a < n; a++) f.push(c[h++]);
+ } else if (184 == (248 & e)) {
+ n = e - 184 + 1;
+ if (b || w) h += 2 * n;
+ else
+ for (a = 0; a < n; a++) {
+ i = c[h++];
+ f.push((i << 8) | c[h++]);
+ }
+ } else if (43 !== e || m)
+ if (44 !== e || m) {
+ if (45 === e)
+ if (b) {
+ b = !1;
+ u = h;
+ } else {
+ o = g.pop();
+ if (!o) {
+ (0, r.warn)('TT: ENDF bad stack');
+ t.hintsValid = !1;
+ return;
+ }
+ s = p.pop();
+ c = o.data;
+ h = o.i;
+ t.functionsStackDeltas[s] = f.length - o.stackTop;
+ }
+ else if (137 === e) {
+ if (b || w) {
+ (0, r.warn)('TT: nested IDEFs not allowed');
+ m = !0;
+ }
+ b = !0;
+ d = h;
+ } else if (88 === e) ++y;
+ else if (27 === e) w = y;
+ else if (89 === e) {
+ w === y && (w = 0);
+ --y;
+ } else if (28 === e && !b && !w) {
+ const e = f.at(-1);
+ e > 0 && (h += e - 1);
+ }
+ } else {
+ if (b || w) {
+ (0, r.warn)('TT: nested FDEFs not allowed');
+ m = !0;
+ }
+ b = !0;
+ d = h;
+ s = f.pop();
+ t.functionsDefined[s] = {data: c, i: h};
+ }
+ else if (!b && !w) {
+ s = f.at(-1);
+ if (isNaN(s)) (0, r.info)('TT: CALL empty stack (or invalid entry).');
+ else {
+ t.functionsUsed[s] = !0;
+ if (s in t.functionsStackDeltas) {
+ const e = f.length + t.functionsStackDeltas[s];
+ if (e < 0) {
+ (0, r.warn)('TT: CALL invalid functions stack delta.');
+ t.hintsValid = !1;
+ return;
+ }
+ f.length = e;
+ } else if (s in t.functionsDefined && !p.includes(s)) {
+ g.push({data: c, i: h, stackTop: f.length - 1});
+ p.push(s);
+ o = t.functionsDefined[s];
+ if (!o) {
+ (0, r.warn)('TT: CALL non-existent function');
+ t.hintsValid = !1;
+ return;
+ }
+ c = o.data;
+ h = o.i;
+ }
+ }
+ }
+ if (!b && !w) {
+ let t = 0;
+ e <= 142 ? (t = l[e]) : e >= 192 && e <= 223 ? (t = -1) : e >= 224 && (t = -2);
+ if (e >= 113 && e <= 117) {
+ n = f.pop();
+ isNaN(n) || (t = 2 * -n);
+ }
+ for (; t < 0 && f.length > 0; ) {
+ f.pop();
+ t++;
+ }
+ for (; t > 0; ) {
+ f.push(NaN);
+ t--;
+ }
+ }
+ }
+ t.tooComplexToFollowFunctions = m;
+ const S = [c];
+ h > c.length && S.push(new Uint8Array(h - c.length));
+ if (d > u) {
+ (0, r.warn)('TT: complementing a missing function tail');
+ S.push(new Uint8Array([34, 45]));
+ }
+ !(function foldTTTable(e, t) {
+ if (t.length > 1) {
+ let a,
+ r,
+ n = 0;
+ for (a = 0, r = t.length; a < r; a++) n += t[a].length;
+ n = (n + 3) & -4;
+ const i = new Uint8Array(n);
+ let s = 0;
+ for (a = 0, r = t.length; a < r; a++) {
+ i.set(t[a], s);
+ s += t[a].length;
+ }
+ e.data = i;
+ e.length = n;
+ }
+ })(e, S);
+ }
+ let d, f, b, w;
+ if (isTrueTypeCollectionFile((t = new y.Stream(new Uint8Array(t.getBytes()))))) {
+ const e = (function readTrueTypeCollectionData(e, t) {
+ const {numFonts: a, offsetTable: n} = (function readTrueTypeCollectionHeader(e) {
+ const t = e.getString(4);
+ (0, r.assert)('ttcf' === t, 'Must be a TrueType Collection font.');
+ const a = e.getUint16(),
+ n = e.getUint16(),
+ i = e.getInt32() >>> 0,
+ s = [];
+ for (let t = 0; t < i; t++) s.push(e.getInt32() >>> 0);
+ const o = {ttcTag: t, majorVersion: a, minorVersion: n, numFonts: i, offsetTable: s};
+ switch (a) {
+ case 1:
+ return o;
+ case 2:
+ o.dsigTag = e.getInt32() >>> 0;
+ o.dsigLength = e.getInt32() >>> 0;
+ o.dsigOffset = e.getInt32() >>> 0;
+ return o;
+ }
+ throw new r.FormatError(`Invalid TrueType Collection majorVersion: ${a}.`);
+ })(e),
+ i = t.split('+');
+ let s;
+ for (let o = 0; o < a; o++) {
+ e.pos = (e.start || 0) + n[o];
+ const a = readOpenTypeHeader(e),
+ c = readTables(e, a.numTables);
+ if (!c.name) throw new r.FormatError('TrueType Collection font must contain a "name" table.');
+ const l = readNameTable(c.name);
+ for (let e = 0, r = l.length; e < r; e++)
+ for (let r = 0, n = l[e].length; r < n; r++) {
+ const n = l[e][r] && l[e][r].replace(/\s/g, '');
+ if (n) {
+ if (n === t) return {header: a, tables: c};
+ if (!(i.length < 2)) for (const e of i) n === e && (s = {name: e, header: a, tables: c});
+ }
+ }
+ }
+ if (s) {
+ (0, r.warn)(
+ `TrueType Collection does not contain "${t}" font, falling back to "${s.name}" font instead.`
+ );
+ return {header: s.header, tables: s.tables};
+ }
+ throw new r.FormatError(`TrueType Collection does not contain "${t}" font.`);
+ })(t, this.name);
+ d = e.header;
+ f = e.tables;
+ } else {
+ d = readOpenTypeHeader(t);
+ f = readTables(t, d.numTables);
+ }
+ const S = !f['CFF '];
+ if (S) {
+ if (!f.loca) throw new r.FormatError('Required "loca" table is not found');
+ if (!f.glyf) {
+ (0, r.warn)('Required "glyf" table is not found -- trying to recover.');
+ f.glyf = {tag: 'glyf', data: new Uint8Array(0)};
+ }
+ this.isOpenType = !1;
+ } else {
+ const t = a.composite && ((a.cidToGidMap || []).length > 0 || !(a.cMap instanceof p.IdentityCMap));
+ if (('OTTO' === d.version && !t) || !f.head || !f.hhea || !f.maxp || !f.post) {
+ w = new y.Stream(f['CFF '].data);
+ b = new u.CFFFont(w, a);
+ adjustWidths(a);
+ return this.convert(e, b, a);
+ }
+ delete f.glyf;
+ delete f.loca;
+ delete f.fpgm;
+ delete f.prep;
+ delete f['cvt '];
+ this.isOpenType = !0;
+ }
+ if (!f.maxp) throw new r.FormatError('Required "maxp" table is not found');
+ t.pos = (t.start || 0) + f.maxp.offset;
+ const x = t.getInt32(),
+ k = t.getUint16();
+ if (a.scaleFactors && a.scaleFactors.length === k && S) {
+ const {scaleFactors: e} = a,
+ t = int16(f.head.data[50], f.head.data[51]),
+ r = new g.GlyfTable({
+ glyfTable: f.glyf.data,
+ isGlyphLocationsLong: t,
+ locaTable: f.loca.data,
+ numGlyphs: k,
+ });
+ r.scale(e);
+ const {glyf: n, loca: i, isLocationLong: s} = r.write();
+ f.glyf.data = n;
+ f.loca.data = i;
+ if (s !== !!t) {
+ f.head.data[50] = 0;
+ f.head.data[51] = s ? 1 : 0;
+ }
+ const o = f.hmtx.data;
+ for (let t = 0; t < k; t++) {
+ const a = 4 * t,
+ r = Math.round(e[t] * int16(o[a], o[a + 1]));
+ o[a] = (r >> 8) & 255;
+ o[a + 1] = 255 & r;
+ writeSignedInt16(o, a + 2, Math.round(e[t] * signedInt16(o[a + 2], o[a + 3])));
+ }
+ }
+ let C = k + 1,
+ v = !0;
+ if (C > 65535) {
+ v = !1;
+ C = k;
+ (0, r.warn)('Not enough space in glyfs to duplicate first glyph.');
+ }
+ let F = 0,
+ O = 0;
+ if (x >= 65536 && f.maxp.length >= 22) {
+ t.pos += 8;
+ if (t.getUint16() > 2) {
+ f.maxp.data[14] = 0;
+ f.maxp.data[15] = 2;
+ }
+ t.pos += 4;
+ F = t.getUint16();
+ t.pos += 4;
+ O = t.getUint16();
+ }
+ f.maxp.data[4] = C >> 8;
+ f.maxp.data[5] = 255 & C;
+ const T = (function sanitizeTTPrograms(e, t, a, n) {
+ const i = {
+ functionsDefined: [],
+ functionsUsed: [],
+ functionsStackDeltas: [],
+ tooComplexToFollowFunctions: !1,
+ hintsValid: !0,
+ };
+ e && sanitizeTTProgram(e, i);
+ t && sanitizeTTProgram(t, i);
+ e &&
+ (function checkInvalidFunctions(e, t) {
+ if (!e.tooComplexToFollowFunctions)
+ if (e.functionsDefined.length > t) {
+ (0, r.warn)('TT: more functions defined than expected');
+ e.hintsValid = !1;
+ } else
+ for (let a = 0, n = e.functionsUsed.length; a < n; a++) {
+ if (a > t) {
+ (0, r.warn)('TT: invalid function id: ' + a);
+ e.hintsValid = !1;
+ return;
+ }
+ if (e.functionsUsed[a] && !e.functionsDefined[a]) {
+ (0, r.warn)('TT: undefined function: ' + a);
+ e.hintsValid = !1;
+ return;
+ }
+ }
+ })(i, n);
+ if (a && 1 & a.length) {
+ const e = new Uint8Array(a.length + 1);
+ e.set(a.data);
+ a.data = e;
+ }
+ return i.hintsValid;
+ })(f.fpgm, f.prep, f['cvt '], F);
+ if (!T) {
+ delete f.fpgm;
+ delete f.prep;
+ delete f['cvt '];
+ }
+ !(function sanitizeMetrics(e, t, a, n, i, s) {
+ if (!t) {
+ a && (a.data = null);
+ return;
+ }
+ e.pos = (e.start || 0) + t.offset;
+ e.pos += 4;
+ e.pos += 2;
+ e.pos += 2;
+ e.pos += 2;
+ e.pos += 2;
+ e.pos += 2;
+ e.pos += 2;
+ e.pos += 2;
+ e.pos += 2;
+ e.pos += 2;
+ const o = e.getUint16();
+ e.pos += 8;
+ e.pos += 2;
+ let c = e.getUint16();
+ if (0 !== o) {
+ if (!(2 & int16(n.data[44], n.data[45]))) {
+ t.data[22] = 0;
+ t.data[23] = 0;
+ }
+ }
+ if (c > i) {
+ (0, r.info)(`The numOfMetrics (${c}) should not be greater than the numGlyphs (${i}).`);
+ c = i;
+ t.data[34] = (65280 & c) >> 8;
+ t.data[35] = 255 & c;
+ }
+ const l = i - c - ((a.length - 4 * c) >> 1);
+ if (l > 0) {
+ const e = new Uint8Array(a.length + 2 * l);
+ e.set(a.data);
+ if (s) {
+ e[a.length] = a.data[2];
+ e[a.length + 1] = a.data[3];
+ }
+ a.data = e;
+ }
+ })(t, f.hhea, f.hmtx, f.head, C, v);
+ if (!f.head) throw new r.FormatError('Required "head" table is not found');
+ !(function sanitizeHead(e, t, a) {
+ const n = e.data,
+ i = (function int32(e, t, a, r) {
+ return (e << 24) + (t << 16) + (a << 8) + r;
+ })(n[0], n[1], n[2], n[3]);
+ if (i >> 16 != 1) {
+ (0, r.info)('Attempting to fix invalid version in head table: ' + i);
+ n[0] = 0;
+ n[1] = 1;
+ n[2] = 0;
+ n[3] = 0;
+ }
+ const s = int16(n[50], n[51]);
+ if (s < 0 || s > 1) {
+ (0, r.info)('Attempting to fix invalid indexToLocFormat in head table: ' + s);
+ const e = t + 1;
+ if (a === e << 1) {
+ n[50] = 0;
+ n[51] = 0;
+ } else {
+ if (a !== e << 2) throw new r.FormatError('Could not fix indexToLocFormat: ' + s);
+ n[50] = 0;
+ n[51] = 1;
+ }
+ }
+ })(f.head, k, S ? f.loca.length : 0);
+ let M = Object.create(null);
+ if (S) {
+ const e = int16(f.head.data[50], f.head.data[51]),
+ t = (function sanitizeGlyphLocations(e, t, a, r, n, i, s) {
+ let o, c, l;
+ if (r) {
+ o = 4;
+ c = function fontItemDecodeLong(e, t) {
+ return (e[t] << 24) | (e[t + 1] << 16) | (e[t + 2] << 8) | e[t + 3];
+ };
+ l = function fontItemEncodeLong(e, t, a) {
+ e[t] = (a >>> 24) & 255;
+ e[t + 1] = (a >> 16) & 255;
+ e[t + 2] = (a >> 8) & 255;
+ e[t + 3] = 255 & a;
+ };
+ } else {
+ o = 2;
+ c = function fontItemDecode(e, t) {
+ return (e[t] << 9) | (e[t + 1] << 1);
+ };
+ l = function fontItemEncode(e, t, a) {
+ e[t] = (a >> 9) & 255;
+ e[t + 1] = (a >> 1) & 255;
+ };
+ }
+ const h = i ? a + 1 : a,
+ u = o * (1 + h),
+ d = new Uint8Array(u);
+ d.set(e.data.subarray(0, u));
+ e.data = d;
+ const f = t.data,
+ g = f.length,
+ p = new Uint8Array(g);
+ let m, b;
+ const y = [];
+ for (m = 0, b = 0; m < a + 1; m++, b += o) {
+ let e = c(d, b);
+ e > g && (e = g);
+ y.push({index: m, offset: e, endOffset: 0});
+ }
+ y.sort((e, t) => e.offset - t.offset);
+ for (m = 0; m < a; m++) y[m].endOffset = y[m + 1].offset;
+ y.sort((e, t) => e.index - t.index);
+ for (m = 0; m < a; m++) {
+ const {offset: e, endOffset: t} = y[m];
+ if (0 !== e || 0 !== t) break;
+ const a = y[m + 1].offset;
+ if (0 !== a) {
+ y[m].endOffset = a;
+ break;
+ }
+ }
+ const w = Object.create(null);
+ let S = 0;
+ l(d, 0, S);
+ for (m = 0, b = o; m < a; m++, b += o) {
+ const e = sanitizeGlyph(f, y[m].offset, y[m].endOffset, p, S, n),
+ t = e.length;
+ 0 === t && (w[m] = !0);
+ e.sizeOfInstructions > s && (s = e.sizeOfInstructions);
+ S += t;
+ l(d, b, S);
+ }
+ if (0 === S) {
+ const e = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);
+ for (m = 0, b = o; m < h; m++, b += o) l(d, b, e.length);
+ t.data = e;
+ } else if (i) {
+ const a = c(d, o);
+ if (p.length > a + S) t.data = p.subarray(0, a + S);
+ else {
+ t.data = new Uint8Array(a + S);
+ t.data.set(p.subarray(0, S));
+ }
+ t.data.set(p.subarray(0, a), S);
+ l(e.data, d.length - o, S + a);
+ } else t.data = p.subarray(0, S);
+ return {missingGlyphs: w, maxSizeOfInstructions: s};
+ })(f.loca, f.glyf, k, e, T, v, O);
+ M = t.missingGlyphs;
+ if (x >= 65536 && f.maxp.length >= 22) {
+ f.maxp.data[26] = t.maxSizeOfInstructions >> 8;
+ f.maxp.data[27] = 255 & t.maxSizeOfInstructions;
+ }
+ }
+ if (!f.hhea) throw new r.FormatError('Required "hhea" table is not found');
+ if (0 === f.hhea.data[10] && 0 === f.hhea.data[11]) {
+ f.hhea.data[10] = 255;
+ f.hhea.data[11] = 255;
+ }
+ const E = {
+ unitsPerEm: int16(f.head.data[18], f.head.data[19]),
+ yMax: int16(f.head.data[42], f.head.data[43]),
+ yMin: signedInt16(f.head.data[38], f.head.data[39]),
+ ascent: signedInt16(f.hhea.data[4], f.hhea.data[5]),
+ descent: signedInt16(f.hhea.data[6], f.hhea.data[7]),
+ lineGap: signedInt16(f.hhea.data[8], f.hhea.data[9]),
+ };
+ this.ascent = E.ascent / E.unitsPerEm;
+ this.descent = E.descent / E.unitsPerEm;
+ this.lineGap = E.lineGap / E.unitsPerEm;
+ if (this.cssFontInfo && this.cssFontInfo.lineHeight) {
+ this.lineHeight = this.cssFontInfo.metrics.lineHeight;
+ this.lineGap = this.cssFontInfo.metrics.lineGap;
+ } else this.lineHeight = this.ascent - this.descent + this.lineGap;
+ f.post &&
+ (function readPostScriptTable(e, a, n) {
+ const s = (t.start || 0) + e.offset;
+ t.pos = s;
+ const o = s + e.length,
+ c = t.getInt32();
+ t.skip(28);
+ let l,
+ h,
+ u = !0;
+ switch (c) {
+ case 65536:
+ l = i.MacStandardGlyphOrdering;
+ break;
+ case 131072:
+ const e = t.getUint16();
+ if (e !== n) {
+ u = !1;
+ break;
+ }
+ const s = [];
+ for (h = 0; h < e; ++h) {
+ const e = t.getUint16();
+ if (e >= 32768) {
+ u = !1;
+ break;
+ }
+ s.push(e);
+ }
+ if (!u) break;
+ const d = [],
+ f = [];
+ for (; t.pos < o; ) {
+ const e = t.getByte();
+ f.length = e;
+ for (h = 0; h < e; ++h) f[h] = String.fromCharCode(t.getByte());
+ d.push(f.join(''));
+ }
+ l = [];
+ for (h = 0; h < e; ++h) {
+ const e = s[h];
+ e < 258 ? l.push(i.MacStandardGlyphOrdering[e]) : l.push(d[e - 258]);
+ }
+ break;
+ case 196608:
+ break;
+ default:
+ (0, r.warn)('Unknown/unsupported post table version ' + c);
+ u = !1;
+ a.defaultEncoding && (l = a.defaultEncoding);
+ }
+ a.glyphNames = l;
+ return u;
+ })(f.post, a, k);
+ f.post = {tag: 'post', data: createPostTable(a)};
+ const D = [];
+ function hasGlyph(e) {
+ return !M[e];
+ }
+ if (a.composite) {
+ const e = a.cidToGidMap || [],
+ t = 0 === e.length;
+ a.cMap.forEach(function (a, n) {
+ 'string' == typeof n && (n = convertCidString(a, n, !0));
+ if (n > 65535) throw new r.FormatError('Max size of CID is 65,535');
+ let i = -1;
+ t ? (i = n) : void 0 !== e[n] && (i = e[n]);
+ i >= 0 && i < k && hasGlyph(i) && (D[a] = i);
+ });
+ } else {
+ const e = (function readCmapTable(e, t, a, n) {
+ if (!e) {
+ (0, r.warn)('No cmap table available.');
+ return {platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1};
+ }
+ let i,
+ s = (t.start || 0) + e.offset;
+ t.pos = s;
+ t.skip(2);
+ const o = t.getUint16();
+ let c,
+ l = !1;
+ for (let e = 0; e < o; e++) {
+ const r = t.getUint16(),
+ i = t.getUint16(),
+ s = t.getInt32() >>> 0;
+ let h = !1;
+ if (!c || c.platformId !== r || c.encodingId !== i) {
+ if (0 !== r || (0 !== i && 1 !== i && 3 !== i))
+ if (1 === r && 0 === i) h = !0;
+ else if (3 !== r || 1 !== i || (!n && c)) {
+ if (a && 3 === r && 0 === i) {
+ h = !0;
+ let a = !0;
+ if (e < o - 1) {
+ const e = t.peekBytes(2);
+ int16(e[0], e[1]) < r && (a = !1);
+ }
+ a && (l = !0);
+ }
+ } else {
+ h = !0;
+ a || (l = !0);
+ }
+ else h = !0;
+ h && (c = {platformId: r, encodingId: i, offset: s});
+ if (l) break;
+ }
+ }
+ c && (t.pos = s + c.offset);
+ if (!c || -1 === t.peekByte()) {
+ (0, r.warn)('Could not find a preferred cmap table.');
+ return {platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1};
+ }
+ const h = t.getUint16();
+ let u = !1;
+ const d = [];
+ let f, g;
+ if (0 === h) {
+ t.skip(4);
+ for (f = 0; f < 256; f++) {
+ const e = t.getByte();
+ e && d.push({charCode: f, glyphId: e});
+ }
+ u = !0;
+ } else if (2 === h) {
+ t.skip(4);
+ const e = [];
+ let a = 0;
+ for (let r = 0; r < 256; r++) {
+ const r = t.getUint16() >> 3;
+ e.push(r);
+ a = Math.max(r, a);
+ }
+ const r = [];
+ for (let e = 0; e <= a; e++)
+ r.push({
+ firstCode: t.getUint16(),
+ entryCount: t.getUint16(),
+ idDelta: signedInt16(t.getByte(), t.getByte()),
+ idRangePos: t.pos + t.getUint16(),
+ });
+ for (let a = 0; a < 256; a++)
+ if (0 === e[a]) {
+ t.pos = r[0].idRangePos + 2 * a;
+ g = t.getUint16();
+ d.push({charCode: a, glyphId: g});
+ } else {
+ const n = r[e[a]];
+ for (f = 0; f < n.entryCount; f++) {
+ const e = (a << 8) + f + n.firstCode;
+ t.pos = n.idRangePos + 2 * f;
+ g = t.getUint16();
+ 0 !== g && (g = (g + n.idDelta) % 65536);
+ d.push({charCode: e, glyphId: g});
+ }
+ }
+ } else if (4 === h) {
+ t.skip(4);
+ const e = t.getUint16() >> 1;
+ t.skip(6);
+ const a = [];
+ let r;
+ for (r = 0; r < e; r++) a.push({end: t.getUint16()});
+ t.skip(2);
+ for (r = 0; r < e; r++) a[r].start = t.getUint16();
+ for (r = 0; r < e; r++) a[r].delta = t.getUint16();
+ let n,
+ o = 0;
+ for (r = 0; r < e; r++) {
+ i = a[r];
+ const s = t.getUint16();
+ if (s) {
+ n = (s >> 1) - (e - r);
+ i.offsetIndex = n;
+ o = Math.max(o, n + i.end - i.start + 1);
+ } else i.offsetIndex = -1;
+ }
+ const c = [];
+ for (f = 0; f < o; f++) c.push(t.getUint16());
+ for (r = 0; r < e; r++) {
+ i = a[r];
+ s = i.start;
+ const e = i.end,
+ t = i.delta;
+ n = i.offsetIndex;
+ for (f = s; f <= e; f++)
+ if (65535 !== f) {
+ g = n < 0 ? f : c[n + f - s];
+ g = (g + t) & 65535;
+ d.push({charCode: f, glyphId: g});
+ }
+ }
+ } else if (6 === h) {
+ t.skip(4);
+ const e = t.getUint16(),
+ a = t.getUint16();
+ for (f = 0; f < a; f++) {
+ g = t.getUint16();
+ const a = e + f;
+ d.push({charCode: a, glyphId: g});
+ }
+ } else {
+ if (12 !== h) {
+ (0, r.warn)('cmap table has unsupported format: ' + h);
+ return {platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1};
+ }
+ {
+ t.skip(10);
+ const e = t.getInt32() >>> 0;
+ for (f = 0; f < e; f++) {
+ const e = t.getInt32() >>> 0,
+ a = t.getInt32() >>> 0;
+ let r = t.getInt32() >>> 0;
+ for (let t = e; t <= a; t++) d.push({charCode: t, glyphId: r++});
+ }
+ }
+ }
+ d.sort(function (e, t) {
+ return e.charCode - t.charCode;
+ });
+ for (let e = 1; e < d.length; e++)
+ if (d[e - 1].charCode === d[e].charCode) {
+ d.splice(e, 1);
+ e--;
+ }
+ return {platformId: c.platformId, encodingId: c.encodingId, mappings: d, hasShortCmap: u};
+ })(f.cmap, t, this.isSymbolicFont, a.hasEncoding),
+ n = e.platformId,
+ s = e.encodingId,
+ l = e.mappings,
+ u = l.length;
+ let d = [],
+ g = !1;
+ !a.hasEncoding ||
+ ('MacRomanEncoding' !== a.baseEncodingName && 'WinAnsiEncoding' !== a.baseEncodingName) ||
+ (d = (0, c.getEncoding)(a.baseEncodingName));
+ if (a.hasEncoding && !this.isSymbolicFont && ((3 === n && 1 === s) || (1 === n && 0 === s))) {
+ const e = (0, o.getGlyphsUnicode)();
+ for (let t = 0; t < 256; t++) {
+ let r;
+ r =
+ void 0 !== this.differences[t]
+ ? this.differences[t]
+ : d.length && '' !== d[t]
+ ? d[t]
+ : c.StandardEncoding[t];
+ if (!r) continue;
+ const o = (0, i.recoverGlyphName)(r, e);
+ let f;
+ 3 === n && 1 === s ? (f = e[o]) : 1 === n && 0 === s && (f = c.MacRomanEncoding.indexOf(o));
+ if (void 0 === f) {
+ if (
+ !a.glyphNames &&
+ a.hasIncludedToUnicodeMap &&
+ !(this.toUnicode instanceof h.IdentityToUnicodeMap)
+ ) {
+ const e = this.toUnicode.get(t);
+ e && (f = e.codePointAt(0));
+ }
+ if (void 0 === f) continue;
+ }
+ for (let e = 0; e < u; ++e)
+ if (l[e].charCode === f) {
+ D[t] = l[e].glyphId;
+ break;
+ }
+ }
+ } else if (0 === n) {
+ for (let e = 0; e < u; ++e) D[l[e].charCode] = l[e].glyphId;
+ g = !0;
+ } else
+ for (let e = 0; e < u; ++e) {
+ let t = l[e].charCode;
+ 3 === n && t >= 61440 && t <= 61695 && (t &= 255);
+ D[t] = l[e].glyphId;
+ }
+ if (a.glyphNames && (d.length || this.differences.length))
+ for (let e = 0; e < 256; ++e) {
+ if (!g && void 0 !== D[e]) continue;
+ const t = this.differences[e] || d[e];
+ if (!t) continue;
+ const r = a.glyphNames.indexOf(t);
+ r > 0 && hasGlyph(r) && (D[e] = r);
+ }
+ }
+ 0 === D.length && (D[0] = 0);
+ let N = C - 1;
+ v || (N = 0);
+ if (!a.cssFontInfo) {
+ const e = adjustMapping(D, hasGlyph, N, this.toUnicode);
+ this.toFontChar = e.toFontChar;
+ f.cmap = {tag: 'cmap', data: createCmapTable(e.charCodeToGlyphId, e.toUnicodeExtraMap, C)};
+ (f['OS/2'] &&
+ (function validateOS2Table(e, t) {
+ t.pos = (t.start || 0) + e.offset;
+ const a = t.getUint16();
+ t.skip(60);
+ const r = t.getUint16();
+ if (a < 4 && 768 & r) return !1;
+ if (t.getUint16() > t.getUint16()) return !1;
+ t.skip(6);
+ if (0 === t.getUint16()) return !1;
+ e.data[8] = e.data[9] = 0;
+ return !0;
+ })(f['OS/2'], t)) ||
+ (f['OS/2'] = {tag: 'OS/2', data: createOS2Table(a, e.charCodeToGlyphId, E)});
+ }
+ if (!S)
+ try {
+ w = new y.Stream(f['CFF '].data);
+ b = new n.CFFParser(w, a, i.SEAC_ANALYSIS_ENABLED).parse();
+ b.duplicateFirstGlyph();
+ const e = new n.CFFCompiler(b);
+ f['CFF '].data = e.compile();
+ } catch (e) {
+ (0, r.warn)('Failed to compile font ' + a.loadedName);
+ }
+ if (f.name) {
+ const t = readNameTable(f.name);
+ f.name.data = createNameTable(e, t);
+ this.psName = t[0][6] || null;
+ } else f.name = {tag: 'name', data: createNameTable(this.name)};
+ const R = new m.OpenTypeFileBuilder(d.version);
+ for (const e in f) R.addTable(e, f[e].data);
+ return R.toArray();
+ }
+ convert(e, t, a) {
+ a.fixedPitch = !1;
+ a.builtInEncoding &&
+ (function adjustToUnicode(e, t) {
+ if (e.isInternalFont) return;
+ if (t === e.defaultEncoding) return;
+ if (e.toUnicode instanceof h.IdentityToUnicodeMap) return;
+ const a = [],
+ r = (0, o.getGlyphsUnicode)();
+ for (const n in t) {
+ if (e.hasIncludedToUnicodeMap) {
+ if (e.toUnicode.has(n)) continue;
+ } else if (e.hasEncoding && (0 === e.differences.length || void 0 !== e.differences[n])) continue;
+ const i = t[n],
+ o = (0, s.getUnicodeForGlyph)(i, r);
+ -1 !== o && (a[n] = String.fromCharCode(o));
+ }
+ a.length > 0 && e.toUnicode.amend(a);
+ })(a, a.builtInEncoding);
+ let n = 1;
+ t instanceof u.CFFFont && (n = t.numGlyphs - 1);
+ const l = t.getGlyphMapping(a);
+ let d = null,
+ f = l,
+ g = null;
+ if (!a.cssFontInfo) {
+ d = adjustMapping(l, t.hasGlyphId.bind(t), n, this.toUnicode);
+ this.toFontChar = d.toFontChar;
+ f = d.charCodeToGlyphId;
+ g = d.toUnicodeExtraMap;
+ }
+ const p = t.numGlyphs;
+ function getCharCodes(e, t) {
+ let a = null;
+ for (const r in e)
+ if (t === e[r]) {
+ a || (a = []);
+ a.push(0 | r);
+ }
+ return a;
+ }
+ function createCharCode(e, t) {
+ for (const a in e) if (t === e[a]) return 0 | a;
+ d.charCodeToGlyphId[d.nextAvailableFontCharCode] = t;
+ return d.nextAvailableFontCharCode++;
+ }
+ const b = t.seacs;
+ if (d && i.SEAC_ANALYSIS_ENABLED && b && b.length) {
+ const e = a.fontMatrix || r.FONT_IDENTITY_MATRIX,
+ n = t.getCharset(),
+ i = Object.create(null);
+ for (let t in b) {
+ t |= 0;
+ const a = b[t],
+ r = c.StandardEncoding[a[2]],
+ s = c.StandardEncoding[a[3]],
+ o = n.indexOf(r),
+ h = n.indexOf(s);
+ if (o < 0 || h < 0) continue;
+ const u = {x: a[0] * e[0] + a[1] * e[2] + e[4], y: a[0] * e[1] + a[1] * e[3] + e[5]},
+ f = getCharCodes(l, t);
+ if (f)
+ for (let e = 0, t = f.length; e < t; e++) {
+ const t = f[e],
+ a = d.charCodeToGlyphId,
+ r = createCharCode(a, o),
+ n = createCharCode(a, h);
+ i[t] = {baseFontCharCode: r, accentFontCharCode: n, accentOffset: u};
+ }
+ }
+ a.seacMap = i;
+ }
+ const y = 1 / (a.fontMatrix || r.FONT_IDENTITY_MATRIX)[0],
+ w = new m.OpenTypeFileBuilder('OTTO');
+ w.addTable('CFF ', t.data);
+ w.addTable('OS/2', createOS2Table(a, f));
+ w.addTable('cmap', createCmapTable(f, g, p));
+ w.addTable(
+ 'head',
+ '\0\0\0\0\0\0\0\0\0\0_<õ\0\0' +
+ safeString16(y) +
+ "\0\0\0\0\v~'\0\0\0\0\v~'\0\0" +
+ safeString16(a.descent) +
+ 'ÿ' +
+ safeString16(a.ascent) +
+ string16(a.italicAngle ? 2 : 0) +
+ '\0\0\0\0\0\0\0'
+ );
+ w.addTable(
+ 'hhea',
+ '\0\0\0' +
+ safeString16(a.ascent) +
+ safeString16(a.descent) +
+ '\0\0ÿÿ\0\0\0\0\0\0' +
+ safeString16(a.capHeight) +
+ safeString16(Math.tan(a.italicAngle) * a.xHeight) +
+ '\0\0\0\0\0\0\0\0\0\0\0\0' +
+ string16(p)
+ );
+ w.addTable(
+ 'hmtx',
+ (function fontFieldsHmtx() {
+ const e = t.charstrings,
+ a = t.cff ? t.cff.widths : null;
+ let r = '\0\0\0\0';
+ for (let t = 1, n = p; t < n; t++) {
+ let n = 0;
+ if (e) {
+ const a = e[t - 1];
+ n = 'width' in a ? a.width : 0;
+ } else a && (n = Math.ceil(a[t] || 0));
+ r += string16(n) + string16(0);
+ }
+ return r;
+ })()
+ );
+ w.addTable('maxp', '\0\0P\0' + string16(p));
+ w.addTable('name', createNameTable(e));
+ w.addTable('post', createPostTable(a));
+ return w.toArray();
+ }
+ get spaceWidth() {
+ const e = ['space', 'minus', 'one', 'i', 'I'];
+ let t;
+ for (let a = 0, r = e.length; a < r; a++) {
+ const r = e[a];
+ if (r in this.widths) {
+ t = this.widths[r];
+ break;
+ }
+ const n = (0, o.getGlyphsUnicode)()[r];
+ let i = 0;
+ if (this.composite && this.cMap.contains(n)) {
+ i = this.cMap.lookup(n);
+ 'string' == typeof i && (i = convertCidString(n, i));
+ }
+ !i && this.toUnicode && (i = this.toUnicode.charCodeOf(n));
+ i <= 0 && (i = n);
+ t = this.widths[i];
+ if (t) break;
+ }
+ t = t || this.defaultWidth;
+ return (0, r.shadow)(this, 'spaceWidth', t);
+ }
+ _charToGlyph(e, t = !1) {
+ let a,
+ n,
+ i,
+ o = e;
+ if (this.cMap && this.cMap.contains(e)) {
+ o = this.cMap.lookup(e);
+ 'string' == typeof o && (o = convertCidString(e, o));
+ }
+ n = this.widths[o];
+ 'number' != typeof n && (n = this.defaultWidth);
+ const c = this.vmetrics && this.vmetrics[o];
+ let l = this.toUnicode.get(e) || e;
+ 'number' == typeof l && (l = String.fromCharCode(l));
+ let h = void 0 !== this.toFontChar[e];
+ a = this.toFontChar[e] || e;
+ if (this.missingFile) {
+ const t = this.differences[e] || this.defaultEncoding[e];
+ ('.notdef' !== t && '' !== t) || 'Type1' !== this.type || (a = 32);
+ a = (0, s.mapSpecialUnicodeValues)(a);
+ }
+ this.isType3Font && (i = a);
+ let u = null;
+ if (this.seacMap && this.seacMap[e]) {
+ h = !0;
+ const t = this.seacMap[e];
+ a = t.baseFontCharCode;
+ u = {fontChar: String.fromCodePoint(t.accentFontCharCode), offset: t.accentOffset};
+ }
+ let d = '';
+ 'number' == typeof a &&
+ (a <= 1114111
+ ? (d = String.fromCodePoint(a))
+ : (0, r.warn)(`charToGlyph - invalid fontCharCode: ${a}`));
+ let f = this._glyphCache[e];
+ if (!f || !f.matchesForCache(e, d, l, u, n, c, i, t, h)) {
+ f = new Glyph(e, d, l, u, n, c, i, t, h);
+ this._glyphCache[e] = f;
+ }
+ return f;
+ }
+ charsToGlyphs(e) {
+ let t = this._charsCache[e];
+ if (t) return t;
+ t = [];
+ if (this.cMap) {
+ const a = Object.create(null),
+ r = e.length;
+ let n = 0;
+ for (; n < r; ) {
+ this.cMap.readCharCode(e, n, a);
+ const {charcode: r, length: i} = a;
+ n += i;
+ const s = this._charToGlyph(r, 1 === i && 32 === e.charCodeAt(n - 1));
+ t.push(s);
+ }
+ } else
+ for (let a = 0, r = e.length; a < r; ++a) {
+ const r = e.charCodeAt(a),
+ n = this._charToGlyph(r, 32 === r);
+ t.push(n);
+ }
+ return (this._charsCache[e] = t);
+ }
+ getCharPositions(e) {
+ const t = [];
+ if (this.cMap) {
+ const a = Object.create(null);
+ let r = 0;
+ for (; r < e.length; ) {
+ this.cMap.readCharCode(e, r, a);
+ const n = a.length;
+ t.push([r, r + n]);
+ r += n;
+ }
+ } else for (let a = 0, r = e.length; a < r; ++a) t.push([a, a + 1]);
+ return t;
+ }
+ get glyphCacheValues() {
+ return Object.values(this._glyphCache);
+ }
+ encodeString(e) {
+ const t = [],
+ a = [],
+ hasCurrentBufErrors = () => t.length % 2 == 1,
+ r =
+ this.toUnicode instanceof h.IdentityToUnicodeMap
+ ? (e) => this.toUnicode.charCodeOf(e)
+ : (e) => this.toUnicode.charCodeOf(String.fromCodePoint(e));
+ for (let n = 0, i = e.length; n < i; n++) {
+ const i = e.codePointAt(n);
+ i > 55295 && (i < 57344 || i > 65533) && n++;
+ if (this.toUnicode) {
+ const e = r(i);
+ if (-1 !== e) {
+ if (hasCurrentBufErrors()) {
+ t.push(a.join(''));
+ a.length = 0;
+ }
+ for (let t = (this.cMap ? this.cMap.getCharCodeLength(e) : 1) - 1; t >= 0; t--)
+ a.push(String.fromCharCode((e >> (8 * t)) & 255));
+ continue;
+ }
+ }
+ if (!hasCurrentBufErrors()) {
+ t.push(a.join(''));
+ a.length = 0;
+ }
+ a.push(String.fromCodePoint(i));
+ }
+ t.push(a.join(''));
+ return t;
+ }
+ };
+ t.ErrorFont = class ErrorFont {
+ constructor(e) {
+ this.error = e;
+ this.loadedName = 'g_font_error';
+ this.missingFile = !0;
+ }
+ charsToGlyphs() {
+ return [];
+ }
+ encodeString(e) {
+ return [e];
+ }
+ exportData(e = !1) {
+ return {error: this.error};
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.CFFTopDict =
+ t.CFFStrings =
+ t.CFFStandardStrings =
+ t.CFFPrivateDict =
+ t.CFFParser =
+ t.CFFIndex =
+ t.CFFHeader =
+ t.CFFFDSelect =
+ t.CFFCompiler =
+ t.CFFCharset =
+ t.CFF =
+ void 0;
+ var r = a(2),
+ n = a(36),
+ i = a(37);
+ const s = [
+ '.notdef',
+ 'space',
+ 'exclam',
+ 'quotedbl',
+ 'numbersign',
+ 'dollar',
+ 'percent',
+ 'ampersand',
+ 'quoteright',
+ 'parenleft',
+ 'parenright',
+ 'asterisk',
+ 'plus',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'slash',
+ 'zero',
+ 'one',
+ 'two',
+ 'three',
+ 'four',
+ 'five',
+ 'six',
+ 'seven',
+ 'eight',
+ 'nine',
+ 'colon',
+ 'semicolon',
+ 'less',
+ 'equal',
+ 'greater',
+ 'question',
+ 'at',
+ 'A',
+ 'B',
+ 'C',
+ 'D',
+ 'E',
+ 'F',
+ 'G',
+ 'H',
+ 'I',
+ 'J',
+ 'K',
+ 'L',
+ 'M',
+ 'N',
+ 'O',
+ 'P',
+ 'Q',
+ 'R',
+ 'S',
+ 'T',
+ 'U',
+ 'V',
+ 'W',
+ 'X',
+ 'Y',
+ 'Z',
+ 'bracketleft',
+ 'backslash',
+ 'bracketright',
+ 'asciicircum',
+ 'underscore',
+ 'quoteleft',
+ 'a',
+ 'b',
+ 'c',
+ 'd',
+ 'e',
+ 'f',
+ 'g',
+ 'h',
+ 'i',
+ 'j',
+ 'k',
+ 'l',
+ 'm',
+ 'n',
+ 'o',
+ 'p',
+ 'q',
+ 'r',
+ 's',
+ 't',
+ 'u',
+ 'v',
+ 'w',
+ 'x',
+ 'y',
+ 'z',
+ 'braceleft',
+ 'bar',
+ 'braceright',
+ 'asciitilde',
+ 'exclamdown',
+ 'cent',
+ 'sterling',
+ 'fraction',
+ 'yen',
+ 'florin',
+ 'section',
+ 'currency',
+ 'quotesingle',
+ 'quotedblleft',
+ 'guillemotleft',
+ 'guilsinglleft',
+ 'guilsinglright',
+ 'fi',
+ 'fl',
+ 'endash',
+ 'dagger',
+ 'daggerdbl',
+ 'periodcentered',
+ 'paragraph',
+ 'bullet',
+ 'quotesinglbase',
+ 'quotedblbase',
+ 'quotedblright',
+ 'guillemotright',
+ 'ellipsis',
+ 'perthousand',
+ 'questiondown',
+ 'grave',
+ 'acute',
+ 'circumflex',
+ 'tilde',
+ 'macron',
+ 'breve',
+ 'dotaccent',
+ 'dieresis',
+ 'ring',
+ 'cedilla',
+ 'hungarumlaut',
+ 'ogonek',
+ 'caron',
+ 'emdash',
+ 'AE',
+ 'ordfeminine',
+ 'Lslash',
+ 'Oslash',
+ 'OE',
+ 'ordmasculine',
+ 'ae',
+ 'dotlessi',
+ 'lslash',
+ 'oslash',
+ 'oe',
+ 'germandbls',
+ 'onesuperior',
+ 'logicalnot',
+ 'mu',
+ 'trademark',
+ 'Eth',
+ 'onehalf',
+ 'plusminus',
+ 'Thorn',
+ 'onequarter',
+ 'divide',
+ 'brokenbar',
+ 'degree',
+ 'thorn',
+ 'threequarters',
+ 'twosuperior',
+ 'registered',
+ 'minus',
+ 'eth',
+ 'multiply',
+ 'threesuperior',
+ 'copyright',
+ 'Aacute',
+ 'Acircumflex',
+ 'Adieresis',
+ 'Agrave',
+ 'Aring',
+ 'Atilde',
+ 'Ccedilla',
+ 'Eacute',
+ 'Ecircumflex',
+ 'Edieresis',
+ 'Egrave',
+ 'Iacute',
+ 'Icircumflex',
+ 'Idieresis',
+ 'Igrave',
+ 'Ntilde',
+ 'Oacute',
+ 'Ocircumflex',
+ 'Odieresis',
+ 'Ograve',
+ 'Otilde',
+ 'Scaron',
+ 'Uacute',
+ 'Ucircumflex',
+ 'Udieresis',
+ 'Ugrave',
+ 'Yacute',
+ 'Ydieresis',
+ 'Zcaron',
+ 'aacute',
+ 'acircumflex',
+ 'adieresis',
+ 'agrave',
+ 'aring',
+ 'atilde',
+ 'ccedilla',
+ 'eacute',
+ 'ecircumflex',
+ 'edieresis',
+ 'egrave',
+ 'iacute',
+ 'icircumflex',
+ 'idieresis',
+ 'igrave',
+ 'ntilde',
+ 'oacute',
+ 'ocircumflex',
+ 'odieresis',
+ 'ograve',
+ 'otilde',
+ 'scaron',
+ 'uacute',
+ 'ucircumflex',
+ 'udieresis',
+ 'ugrave',
+ 'yacute',
+ 'ydieresis',
+ 'zcaron',
+ 'exclamsmall',
+ 'Hungarumlautsmall',
+ 'dollaroldstyle',
+ 'dollarsuperior',
+ 'ampersandsmall',
+ 'Acutesmall',
+ 'parenleftsuperior',
+ 'parenrightsuperior',
+ 'twodotenleader',
+ 'onedotenleader',
+ 'zerooldstyle',
+ 'oneoldstyle',
+ 'twooldstyle',
+ 'threeoldstyle',
+ 'fouroldstyle',
+ 'fiveoldstyle',
+ 'sixoldstyle',
+ 'sevenoldstyle',
+ 'eightoldstyle',
+ 'nineoldstyle',
+ 'commasuperior',
+ 'threequartersemdash',
+ 'periodsuperior',
+ 'questionsmall',
+ 'asuperior',
+ 'bsuperior',
+ 'centsuperior',
+ 'dsuperior',
+ 'esuperior',
+ 'isuperior',
+ 'lsuperior',
+ 'msuperior',
+ 'nsuperior',
+ 'osuperior',
+ 'rsuperior',
+ 'ssuperior',
+ 'tsuperior',
+ 'ff',
+ 'ffi',
+ 'ffl',
+ 'parenleftinferior',
+ 'parenrightinferior',
+ 'Circumflexsmall',
+ 'hyphensuperior',
+ 'Gravesmall',
+ 'Asmall',
+ 'Bsmall',
+ 'Csmall',
+ 'Dsmall',
+ 'Esmall',
+ 'Fsmall',
+ 'Gsmall',
+ 'Hsmall',
+ 'Ismall',
+ 'Jsmall',
+ 'Ksmall',
+ 'Lsmall',
+ 'Msmall',
+ 'Nsmall',
+ 'Osmall',
+ 'Psmall',
+ 'Qsmall',
+ 'Rsmall',
+ 'Ssmall',
+ 'Tsmall',
+ 'Usmall',
+ 'Vsmall',
+ 'Wsmall',
+ 'Xsmall',
+ 'Ysmall',
+ 'Zsmall',
+ 'colonmonetary',
+ 'onefitted',
+ 'rupiah',
+ 'Tildesmall',
+ 'exclamdownsmall',
+ 'centoldstyle',
+ 'Lslashsmall',
+ 'Scaronsmall',
+ 'Zcaronsmall',
+ 'Dieresissmall',
+ 'Brevesmall',
+ 'Caronsmall',
+ 'Dotaccentsmall',
+ 'Macronsmall',
+ 'figuredash',
+ 'hypheninferior',
+ 'Ogoneksmall',
+ 'Ringsmall',
+ 'Cedillasmall',
+ 'questiondownsmall',
+ 'oneeighth',
+ 'threeeighths',
+ 'fiveeighths',
+ 'seveneighths',
+ 'onethird',
+ 'twothirds',
+ 'zerosuperior',
+ 'foursuperior',
+ 'fivesuperior',
+ 'sixsuperior',
+ 'sevensuperior',
+ 'eightsuperior',
+ 'ninesuperior',
+ 'zeroinferior',
+ 'oneinferior',
+ 'twoinferior',
+ 'threeinferior',
+ 'fourinferior',
+ 'fiveinferior',
+ 'sixinferior',
+ 'seveninferior',
+ 'eightinferior',
+ 'nineinferior',
+ 'centinferior',
+ 'dollarinferior',
+ 'periodinferior',
+ 'commainferior',
+ 'Agravesmall',
+ 'Aacutesmall',
+ 'Acircumflexsmall',
+ 'Atildesmall',
+ 'Adieresissmall',
+ 'Aringsmall',
+ 'AEsmall',
+ 'Ccedillasmall',
+ 'Egravesmall',
+ 'Eacutesmall',
+ 'Ecircumflexsmall',
+ 'Edieresissmall',
+ 'Igravesmall',
+ 'Iacutesmall',
+ 'Icircumflexsmall',
+ 'Idieresissmall',
+ 'Ethsmall',
+ 'Ntildesmall',
+ 'Ogravesmall',
+ 'Oacutesmall',
+ 'Ocircumflexsmall',
+ 'Otildesmall',
+ 'Odieresissmall',
+ 'OEsmall',
+ 'Oslashsmall',
+ 'Ugravesmall',
+ 'Uacutesmall',
+ 'Ucircumflexsmall',
+ 'Udieresissmall',
+ 'Yacutesmall',
+ 'Thornsmall',
+ 'Ydieresissmall',
+ '001.000',
+ '001.001',
+ '001.002',
+ '001.003',
+ 'Black',
+ 'Bold',
+ 'Book',
+ 'Light',
+ 'Medium',
+ 'Regular',
+ 'Roman',
+ 'Semibold',
+ ];
+ t.CFFStandardStrings = s;
+ const o = 391,
+ c = [
+ null,
+ {id: 'hstem', min: 2, stackClearing: !0, stem: !0},
+ null,
+ {id: 'vstem', min: 2, stackClearing: !0, stem: !0},
+ {id: 'vmoveto', min: 1, stackClearing: !0},
+ {id: 'rlineto', min: 2, resetStack: !0},
+ {id: 'hlineto', min: 1, resetStack: !0},
+ {id: 'vlineto', min: 1, resetStack: !0},
+ {id: 'rrcurveto', min: 6, resetStack: !0},
+ null,
+ {id: 'callsubr', min: 1, undefStack: !0},
+ {id: 'return', min: 0, undefStack: !0},
+ null,
+ null,
+ {id: 'endchar', min: 0, stackClearing: !0},
+ null,
+ null,
+ null,
+ {id: 'hstemhm', min: 2, stackClearing: !0, stem: !0},
+ {id: 'hintmask', min: 0, stackClearing: !0},
+ {id: 'cntrmask', min: 0, stackClearing: !0},
+ {id: 'rmoveto', min: 2, stackClearing: !0},
+ {id: 'hmoveto', min: 1, stackClearing: !0},
+ {id: 'vstemhm', min: 2, stackClearing: !0, stem: !0},
+ {id: 'rcurveline', min: 8, resetStack: !0},
+ {id: 'rlinecurve', min: 8, resetStack: !0},
+ {id: 'vvcurveto', min: 4, resetStack: !0},
+ {id: 'hhcurveto', min: 4, resetStack: !0},
+ null,
+ {id: 'callgsubr', min: 1, undefStack: !0},
+ {id: 'vhcurveto', min: 4, resetStack: !0},
+ {id: 'hvcurveto', min: 4, resetStack: !0},
+ ],
+ l = [
+ null,
+ null,
+ null,
+ {id: 'and', min: 2, stackDelta: -1},
+ {id: 'or', min: 2, stackDelta: -1},
+ {id: 'not', min: 1, stackDelta: 0},
+ null,
+ null,
+ null,
+ {id: 'abs', min: 1, stackDelta: 0},
+ {
+ id: 'add',
+ min: 2,
+ stackDelta: -1,
+ stackFn(e, t) {
+ e[t - 2] = e[t - 2] + e[t - 1];
+ },
+ },
+ {
+ id: 'sub',
+ min: 2,
+ stackDelta: -1,
+ stackFn(e, t) {
+ e[t - 2] = e[t - 2] - e[t - 1];
+ },
+ },
+ {
+ id: 'div',
+ min: 2,
+ stackDelta: -1,
+ stackFn(e, t) {
+ e[t - 2] = e[t - 2] / e[t - 1];
+ },
+ },
+ null,
+ {
+ id: 'neg',
+ min: 1,
+ stackDelta: 0,
+ stackFn(e, t) {
+ e[t - 1] = -e[t - 1];
+ },
+ },
+ {id: 'eq', min: 2, stackDelta: -1},
+ null,
+ null,
+ {id: 'drop', min: 1, stackDelta: -1},
+ null,
+ {id: 'put', min: 2, stackDelta: -2},
+ {id: 'get', min: 1, stackDelta: 0},
+ {id: 'ifelse', min: 4, stackDelta: -3},
+ {id: 'random', min: 0, stackDelta: 1},
+ {
+ id: 'mul',
+ min: 2,
+ stackDelta: -1,
+ stackFn(e, t) {
+ e[t - 2] = e[t - 2] * e[t - 1];
+ },
+ },
+ null,
+ {id: 'sqrt', min: 1, stackDelta: 0},
+ {id: 'dup', min: 1, stackDelta: 1},
+ {id: 'exch', min: 2, stackDelta: 0},
+ {id: 'index', min: 2, stackDelta: 0},
+ {id: 'roll', min: 3, stackDelta: -2},
+ null,
+ null,
+ null,
+ {id: 'hflex', min: 7, resetStack: !0},
+ {id: 'flex', min: 13, resetStack: !0},
+ {id: 'hflex1', min: 9, resetStack: !0},
+ {id: 'flex1', min: 11, resetStack: !0},
+ ];
+ t.CFFParser = class CFFParser {
+ constructor(e, t, a) {
+ this.bytes = e.getBytes();
+ this.properties = t;
+ this.seacAnalysisEnabled = !!a;
+ }
+ parse() {
+ const e = this.properties,
+ t = new CFF();
+ this.cff = t;
+ const a = this.parseHeader(),
+ r = this.parseIndex(a.endPos),
+ n = this.parseIndex(r.endPos),
+ i = this.parseIndex(n.endPos),
+ s = this.parseIndex(i.endPos),
+ o = this.parseDict(n.obj.get(0)),
+ c = this.createDict(CFFTopDict, o, t.strings);
+ t.header = a.obj;
+ t.names = this.parseNameIndex(r.obj);
+ t.strings = this.parseStringIndex(i.obj);
+ t.topDict = c;
+ t.globalSubrIndex = s.obj;
+ this.parsePrivateDict(t.topDict);
+ t.isCIDFont = c.hasName('ROS');
+ const l = c.getByName('CharStrings'),
+ h = this.parseIndex(l).obj,
+ u = c.getByName('FontMatrix');
+ u && (e.fontMatrix = u);
+ const d = c.getByName('FontBBox');
+ if (d) {
+ e.ascent = Math.max(d[3], d[1]);
+ e.descent = Math.min(d[1], d[3]);
+ e.ascentScaled = !0;
+ }
+ let f, g;
+ if (t.isCIDFont) {
+ const e = this.parseIndex(c.getByName('FDArray')).obj;
+ for (let a = 0, r = e.count; a < r; ++a) {
+ const r = e.get(a),
+ n = this.createDict(CFFTopDict, this.parseDict(r), t.strings);
+ this.parsePrivateDict(n);
+ t.fdArray.push(n);
+ }
+ g = null;
+ f = this.parseCharsets(c.getByName('charset'), h.count, t.strings, !0);
+ t.fdSelect = this.parseFDSelect(c.getByName('FDSelect'), h.count);
+ } else {
+ f = this.parseCharsets(c.getByName('charset'), h.count, t.strings, !1);
+ g = this.parseEncoding(c.getByName('Encoding'), e, t.strings, f.charset);
+ }
+ t.charset = f;
+ t.encoding = g;
+ const p = this.parseCharStrings({
+ charStrings: h,
+ localSubrIndex: c.privateDict.subrsIndex,
+ globalSubrIndex: s.obj,
+ fdSelect: t.fdSelect,
+ fdArray: t.fdArray,
+ privateDict: c.privateDict,
+ });
+ t.charStrings = p.charStrings;
+ t.seacs = p.seacs;
+ t.widths = p.widths;
+ return t;
+ }
+ parseHeader() {
+ let e = this.bytes;
+ const t = e.length;
+ let a = 0;
+ for (; a < t && 1 !== e[a]; ) ++a;
+ if (a >= t) throw new r.FormatError('Invalid CFF header');
+ if (0 !== a) {
+ (0, r.info)('cff data is shifted');
+ e = e.subarray(a);
+ this.bytes = e;
+ }
+ const n = e[0],
+ i = e[1],
+ s = e[2],
+ o = e[3];
+ return {obj: new CFFHeader(n, i, s, o), endPos: s};
+ }
+ parseDict(e) {
+ let t = 0;
+ function parseOperand() {
+ let a = e[t++];
+ if (30 === a)
+ return (function parseFloatOperand() {
+ let a = '';
+ const r = 15,
+ n = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'],
+ i = e.length;
+ for (; t < i; ) {
+ const i = e[t++],
+ s = i >> 4,
+ o = 15 & i;
+ if (s === r) break;
+ a += n[s];
+ if (o === r) break;
+ a += n[o];
+ }
+ return parseFloat(a);
+ })();
+ if (28 === a) {
+ a = e[t++];
+ a = ((a << 24) | (e[t++] << 16)) >> 16;
+ return a;
+ }
+ if (29 === a) {
+ a = e[t++];
+ a = (a << 8) | e[t++];
+ a = (a << 8) | e[t++];
+ a = (a << 8) | e[t++];
+ return a;
+ }
+ if (a >= 32 && a <= 246) return a - 139;
+ if (a >= 247 && a <= 250) return 256 * (a - 247) + e[t++] + 108;
+ if (a >= 251 && a <= 254) return -256 * (a - 251) - e[t++] - 108;
+ (0, r.warn)('CFFParser_parseDict: "' + a + '" is a reserved command.');
+ return NaN;
+ }
+ let a = [];
+ const n = [];
+ t = 0;
+ const i = e.length;
+ for (; t < i; ) {
+ let r = e[t];
+ if (r <= 21) {
+ 12 === r && (r = (r << 8) | e[++t]);
+ n.push([r, a]);
+ a = [];
+ ++t;
+ } else a.push(parseOperand());
+ }
+ return n;
+ }
+ parseIndex(e) {
+ const t = new CFFIndex(),
+ a = this.bytes,
+ r = (a[e++] << 8) | a[e++],
+ n = [];
+ let i,
+ s,
+ o = e;
+ if (0 !== r) {
+ const t = a[e++],
+ c = e + (r + 1) * t - 1;
+ for (i = 0, s = r + 1; i < s; ++i) {
+ let r = 0;
+ for (let n = 0; n < t; ++n) {
+ r <<= 8;
+ r += a[e++];
+ }
+ n.push(c + r);
+ }
+ o = n[r];
+ }
+ for (i = 0, s = n.length - 1; i < s; ++i) {
+ const e = n[i],
+ r = n[i + 1];
+ t.add(a.subarray(e, r));
+ }
+ return {obj: t, endPos: o};
+ }
+ parseNameIndex(e) {
+ const t = [];
+ for (let a = 0, n = e.count; a < n; ++a) {
+ const n = e.get(a);
+ t.push((0, r.bytesToString)(n));
+ }
+ return t;
+ }
+ parseStringIndex(e) {
+ const t = new CFFStrings();
+ for (let a = 0, n = e.count; a < n; ++a) {
+ const n = e.get(a);
+ t.add((0, r.bytesToString)(n));
+ }
+ return t;
+ }
+ createDict(e, t, a) {
+ const r = new e(a);
+ for (let e = 0, a = t.length; e < a; ++e) {
+ const a = t[e],
+ n = a[0],
+ i = a[1];
+ r.setByKey(n, i);
+ }
+ return r;
+ }
+ parseCharString(e, t, a, n) {
+ if (!t || e.callDepth > 10) return !1;
+ let i = e.stackSize;
+ const s = e.stack,
+ o = t.length;
+ for (let h = 0; h < o; ) {
+ const o = t[h++];
+ let u = null;
+ if (12 === o) {
+ const e = t[h++];
+ if (0 === e) {
+ t[h - 2] = 139;
+ t[h - 1] = 22;
+ i = 0;
+ } else u = l[e];
+ } else if (28 === o) {
+ s[i] = ((t[h] << 24) | (t[h + 1] << 16)) >> 16;
+ h += 2;
+ i++;
+ } else if (14 === o) {
+ if (i >= 4) {
+ i -= 4;
+ if (this.seacAnalysisEnabled) {
+ e.seac = s.slice(i, i + 4);
+ return !1;
+ }
+ }
+ u = c[o];
+ } else if (o >= 32 && o <= 246) {
+ s[i] = o - 139;
+ i++;
+ } else if (o >= 247 && o <= 254) {
+ s[i] = o < 251 ? ((o - 247) << 8) + t[h] + 108 : -((o - 251) << 8) - t[h] - 108;
+ h++;
+ i++;
+ } else if (255 === o) {
+ s[i] = ((t[h] << 24) | (t[h + 1] << 16) | (t[h + 2] << 8) | t[h + 3]) / 65536;
+ h += 4;
+ i++;
+ } else if (19 === o || 20 === o) {
+ e.hints += i >> 1;
+ h += (e.hints + 7) >> 3;
+ i %= 2;
+ u = c[o];
+ } else {
+ if (10 === o || 29 === o) {
+ let t;
+ t = 10 === o ? a : n;
+ if (!t) {
+ u = c[o];
+ (0, r.warn)('Missing subrsIndex for ' + u.id);
+ return !1;
+ }
+ let l = 32768;
+ t.count < 1240 ? (l = 107) : t.count < 33900 && (l = 1131);
+ const h = s[--i] + l;
+ if (h < 0 || h >= t.count || isNaN(h)) {
+ u = c[o];
+ (0, r.warn)('Out of bounds subrIndex for ' + u.id);
+ return !1;
+ }
+ e.stackSize = i;
+ e.callDepth++;
+ if (!this.parseCharString(e, t.get(h), a, n)) return !1;
+ e.callDepth--;
+ i = e.stackSize;
+ continue;
+ }
+ if (11 === o) {
+ e.stackSize = i;
+ return !0;
+ }
+ if (0 === o && h === t.length) {
+ t[h - 1] = 14;
+ u = c[14];
+ } else u = c[o];
+ }
+ if (u) {
+ if (u.stem) {
+ e.hints += i >> 1;
+ if (3 === o || 23 === o) e.hasVStems = !0;
+ else if (e.hasVStems && (1 === o || 18 === o)) {
+ (0, r.warn)('CFF stem hints are in wrong order');
+ t[h - 1] = 1 === o ? 3 : 23;
+ }
+ }
+ if ('min' in u && !e.undefStack && i < u.min) {
+ (0, r.warn)('Not enough parameters for ' + u.id + '; actual: ' + i + ', expected: ' + u.min);
+ if (0 === i) {
+ t[h - 1] = 14;
+ return !0;
+ }
+ return !1;
+ }
+ if (e.firstStackClearing && u.stackClearing) {
+ e.firstStackClearing = !1;
+ i -= u.min;
+ i >= 2 && u.stem
+ ? (i %= 2)
+ : i > 1 && (0, r.warn)('Found too many parameters for stack-clearing command');
+ i > 0 && (e.width = s[i - 1]);
+ }
+ if ('stackDelta' in u) {
+ 'stackFn' in u && u.stackFn(s, i);
+ i += u.stackDelta;
+ } else if (u.stackClearing) i = 0;
+ else if (u.resetStack) {
+ i = 0;
+ e.undefStack = !1;
+ } else if (u.undefStack) {
+ i = 0;
+ e.undefStack = !0;
+ e.firstStackClearing = !1;
+ }
+ }
+ }
+ e.stackSize = i;
+ return !0;
+ }
+ parseCharStrings({
+ charStrings: e,
+ localSubrIndex: t,
+ globalSubrIndex: a,
+ fdSelect: n,
+ fdArray: i,
+ privateDict: s,
+ }) {
+ const o = [],
+ c = [],
+ l = e.count;
+ for (let h = 0; h < l; h++) {
+ const l = e.get(h),
+ u = {
+ callDepth: 0,
+ stackSize: 0,
+ stack: [],
+ undefStack: !0,
+ hints: 0,
+ firstStackClearing: !0,
+ seac: null,
+ width: null,
+ hasVStems: !1,
+ };
+ let d = !0,
+ f = null,
+ g = s;
+ if (n && i.length) {
+ const e = n.getFDIndex(h);
+ if (-1 === e) {
+ (0, r.warn)('Glyph index is not in fd select.');
+ d = !1;
+ }
+ if (e >= i.length) {
+ (0, r.warn)('Invalid fd index for glyph index.');
+ d = !1;
+ }
+ if (d) {
+ g = i[e].privateDict;
+ f = g.subrsIndex;
+ }
+ } else t && (f = t);
+ d && (d = this.parseCharString(u, l, f, a));
+ if (null !== u.width) {
+ const e = g.getByName('nominalWidthX');
+ c[h] = e + u.width;
+ } else {
+ const e = g.getByName('defaultWidthX');
+ c[h] = e;
+ }
+ null !== u.seac && (o[h] = u.seac);
+ d || e.set(h, new Uint8Array([14]));
+ }
+ return {charStrings: e, seacs: o, widths: c};
+ }
+ emptyPrivateDictionary(e) {
+ const t = this.createDict(CFFPrivateDict, [], e.strings);
+ e.setByKey(18, [0, 0]);
+ e.privateDict = t;
+ }
+ parsePrivateDict(e) {
+ if (!e.hasName('Private')) {
+ this.emptyPrivateDictionary(e);
+ return;
+ }
+ const t = e.getByName('Private');
+ if (!Array.isArray(t) || 2 !== t.length) {
+ e.removeByName('Private');
+ return;
+ }
+ const a = t[0],
+ r = t[1];
+ if (0 === a || r >= this.bytes.length) {
+ this.emptyPrivateDictionary(e);
+ return;
+ }
+ const n = r + a,
+ i = this.bytes.subarray(r, n),
+ s = this.parseDict(i),
+ o = this.createDict(CFFPrivateDict, s, e.strings);
+ e.privateDict = o;
+ if (!o.getByName('Subrs')) return;
+ const c = o.getByName('Subrs'),
+ l = r + c;
+ if (0 === c || l >= this.bytes.length) {
+ this.emptyPrivateDictionary(e);
+ return;
+ }
+ const h = this.parseIndex(l);
+ o.subrsIndex = h.obj;
+ }
+ parseCharsets(e, t, a, i) {
+ if (0 === e) return new CFFCharset(!0, d.ISO_ADOBE, n.ISOAdobeCharset);
+ if (1 === e) return new CFFCharset(!0, d.EXPERT, n.ExpertCharset);
+ if (2 === e) return new CFFCharset(!0, d.EXPERT_SUBSET, n.ExpertSubsetCharset);
+ const s = this.bytes,
+ o = e,
+ c = s[e++],
+ l = [i ? 0 : '.notdef'];
+ let h, u, f;
+ t -= 1;
+ switch (c) {
+ case 0:
+ for (f = 0; f < t; f++) {
+ h = (s[e++] << 8) | s[e++];
+ l.push(i ? h : a.get(h));
+ }
+ break;
+ case 1:
+ for (; l.length <= t; ) {
+ h = (s[e++] << 8) | s[e++];
+ u = s[e++];
+ for (f = 0; f <= u; f++) l.push(i ? h++ : a.get(h++));
+ }
+ break;
+ case 2:
+ for (; l.length <= t; ) {
+ h = (s[e++] << 8) | s[e++];
+ u = (s[e++] << 8) | s[e++];
+ for (f = 0; f <= u; f++) l.push(i ? h++ : a.get(h++));
+ }
+ break;
+ default:
+ throw new r.FormatError('Unknown charset format');
+ }
+ const g = e,
+ p = s.subarray(o, g);
+ return new CFFCharset(!1, c, l, p);
+ }
+ parseEncoding(e, t, a, n) {
+ const s = Object.create(null),
+ o = this.bytes;
+ let c,
+ l,
+ h,
+ u = !1,
+ d = null;
+ if (0 === e || 1 === e) {
+ u = !0;
+ c = e;
+ const t = e ? i.ExpertEncoding : i.StandardEncoding;
+ for (l = 0, h = n.length; l < h; l++) {
+ const e = t.indexOf(n[l]);
+ -1 !== e && (s[e] = l);
+ }
+ } else {
+ const t = e;
+ c = o[e++];
+ switch (127 & c) {
+ case 0:
+ const t = o[e++];
+ for (l = 1; l <= t; l++) s[o[e++]] = l;
+ break;
+ case 1:
+ const a = o[e++];
+ let n = 1;
+ for (l = 0; l < a; l++) {
+ const t = o[e++],
+ a = o[e++];
+ for (let e = t; e <= t + a; e++) s[e] = n++;
+ }
+ break;
+ default:
+ throw new r.FormatError(`Unknown encoding format: ${c} in CFF`);
+ }
+ const i = e;
+ if (128 & c) {
+ o[t] &= 127;
+ !(function readSupplement() {
+ const t = o[e++];
+ for (l = 0; l < t; l++) {
+ const t = o[e++],
+ r = (o[e++] << 8) + (255 & o[e++]);
+ s[t] = n.indexOf(a.get(r));
+ }
+ })();
+ }
+ d = o.subarray(t, i);
+ }
+ c &= 127;
+ return new CFFEncoding(u, c, s, d);
+ }
+ parseFDSelect(e, t) {
+ const a = this.bytes,
+ n = a[e++],
+ i = [];
+ let s;
+ switch (n) {
+ case 0:
+ for (s = 0; s < t; ++s) {
+ const t = a[e++];
+ i.push(t);
+ }
+ break;
+ case 3:
+ const o = (a[e++] << 8) | a[e++];
+ for (s = 0; s < o; ++s) {
+ let t = (a[e++] << 8) | a[e++];
+ if (0 === s && 0 !== t) {
+ (0, r.warn)('parseFDSelect: The first range must have a first GID of 0 -- trying to recover.');
+ t = 0;
+ }
+ const n = a[e++],
+ o = (a[e] << 8) | a[e + 1];
+ for (let e = t; e < o; ++e) i.push(n);
+ }
+ e += 2;
+ break;
+ default:
+ throw new r.FormatError(`parseFDSelect: Unknown format "${n}".`);
+ }
+ if (i.length !== t) throw new r.FormatError('parseFDSelect: Invalid font data.');
+ return new CFFFDSelect(n, i);
+ }
+ };
+ class CFF {
+ constructor() {
+ this.header = null;
+ this.names = [];
+ this.topDict = null;
+ this.strings = new CFFStrings();
+ this.globalSubrIndex = null;
+ this.encoding = null;
+ this.charset = null;
+ this.charStrings = null;
+ this.fdArray = [];
+ this.fdSelect = null;
+ this.isCIDFont = !1;
+ }
+ duplicateFirstGlyph() {
+ if (this.charStrings.count >= 65535) {
+ (0, r.warn)('Not enough space in charstrings to duplicate first glyph.');
+ return;
+ }
+ const e = this.charStrings.get(0);
+ this.charStrings.add(e);
+ this.isCIDFont && this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);
+ }
+ hasGlyphId(e) {
+ if (e < 0 || e >= this.charStrings.count) return !1;
+ return this.charStrings.get(e).length > 0;
+ }
+ }
+ t.CFF = CFF;
+ class CFFHeader {
+ constructor(e, t, a, r) {
+ this.major = e;
+ this.minor = t;
+ this.hdrSize = a;
+ this.offSize = r;
+ }
+ }
+ t.CFFHeader = CFFHeader;
+ class CFFStrings {
+ constructor() {
+ this.strings = [];
+ }
+ get(e) {
+ return e >= 0 && e <= 390 ? s[e] : e - o <= this.strings.length ? this.strings[e - o] : s[0];
+ }
+ getSID(e) {
+ let t = s.indexOf(e);
+ if (-1 !== t) return t;
+ t = this.strings.indexOf(e);
+ return -1 !== t ? t + o : -1;
+ }
+ add(e) {
+ this.strings.push(e);
+ }
+ get count() {
+ return this.strings.length;
+ }
+ }
+ t.CFFStrings = CFFStrings;
+ class CFFIndex {
+ constructor() {
+ this.objects = [];
+ this.length = 0;
+ }
+ add(e) {
+ this.length += e.length;
+ this.objects.push(e);
+ }
+ set(e, t) {
+ this.length += t.length - this.objects[e].length;
+ this.objects[e] = t;
+ }
+ get(e) {
+ return this.objects[e];
+ }
+ get count() {
+ return this.objects.length;
+ }
+ }
+ t.CFFIndex = CFFIndex;
+ class CFFDict {
+ constructor(e, t) {
+ this.keyToNameMap = e.keyToNameMap;
+ this.nameToKeyMap = e.nameToKeyMap;
+ this.defaults = e.defaults;
+ this.types = e.types;
+ this.opcodes = e.opcodes;
+ this.order = e.order;
+ this.strings = t;
+ this.values = Object.create(null);
+ }
+ setByKey(e, t) {
+ if (!(e in this.keyToNameMap)) return !1;
+ const a = t.length;
+ if (0 === a) return !0;
+ for (let n = 0; n < a; n++)
+ if (isNaN(t[n])) {
+ (0, r.warn)('Invalid CFFDict value: "' + t + '" for key "' + e + '".');
+ return !0;
+ }
+ const n = this.types[e];
+ ('num' !== n && 'sid' !== n && 'offset' !== n) || (t = t[0]);
+ this.values[e] = t;
+ return !0;
+ }
+ setByName(e, t) {
+ if (!(e in this.nameToKeyMap)) throw new r.FormatError(`Invalid dictionary name "${e}"`);
+ this.values[this.nameToKeyMap[e]] = t;
+ }
+ hasName(e) {
+ return this.nameToKeyMap[e] in this.values;
+ }
+ getByName(e) {
+ if (!(e in this.nameToKeyMap)) throw new r.FormatError(`Invalid dictionary name ${e}"`);
+ const t = this.nameToKeyMap[e];
+ return t in this.values ? this.values[t] : this.defaults[t];
+ }
+ removeByName(e) {
+ delete this.values[this.nameToKeyMap[e]];
+ }
+ static createTables(e) {
+ const t = {keyToNameMap: {}, nameToKeyMap: {}, defaults: {}, types: {}, opcodes: {}, order: []};
+ for (let a = 0, r = e.length; a < r; ++a) {
+ const r = e[a],
+ n = Array.isArray(r[0]) ? (r[0][0] << 8) + r[0][1] : r[0];
+ t.keyToNameMap[n] = r[1];
+ t.nameToKeyMap[r[1]] = n;
+ t.types[n] = r[2];
+ t.defaults[n] = r[3];
+ t.opcodes[n] = Array.isArray(r[0]) ? r[0] : [r[0]];
+ t.order.push(n);
+ }
+ return t;
+ }
+ }
+ const h = [
+ [[12, 30], 'ROS', ['sid', 'sid', 'num'], null],
+ [[12, 20], 'SyntheticBase', 'num', null],
+ [0, 'version', 'sid', null],
+ [1, 'Notice', 'sid', null],
+ [[12, 0], 'Copyright', 'sid', null],
+ [2, 'FullName', 'sid', null],
+ [3, 'FamilyName', 'sid', null],
+ [4, 'Weight', 'sid', null],
+ [[12, 1], 'isFixedPitch', 'num', 0],
+ [[12, 2], 'ItalicAngle', 'num', 0],
+ [[12, 3], 'UnderlinePosition', 'num', -100],
+ [[12, 4], 'UnderlineThickness', 'num', 50],
+ [[12, 5], 'PaintType', 'num', 0],
+ [[12, 6], 'CharstringType', 'num', 2],
+ [[12, 7], 'FontMatrix', ['num', 'num', 'num', 'num', 'num', 'num'], [0.001, 0, 0, 0.001, 0, 0]],
+ [13, 'UniqueID', 'num', null],
+ [5, 'FontBBox', ['num', 'num', 'num', 'num'], [0, 0, 0, 0]],
+ [[12, 8], 'StrokeWidth', 'num', 0],
+ [14, 'XUID', 'array', null],
+ [15, 'charset', 'offset', 0],
+ [16, 'Encoding', 'offset', 0],
+ [17, 'CharStrings', 'offset', 0],
+ [18, 'Private', ['offset', 'offset'], null],
+ [[12, 21], 'PostScript', 'sid', null],
+ [[12, 22], 'BaseFontName', 'sid', null],
+ [[12, 23], 'BaseFontBlend', 'delta', null],
+ [[12, 31], 'CIDFontVersion', 'num', 0],
+ [[12, 32], 'CIDFontRevision', 'num', 0],
+ [[12, 33], 'CIDFontType', 'num', 0],
+ [[12, 34], 'CIDCount', 'num', 8720],
+ [[12, 35], 'UIDBase', 'num', null],
+ [[12, 37], 'FDSelect', 'offset', null],
+ [[12, 36], 'FDArray', 'offset', null],
+ [[12, 38], 'FontName', 'sid', null],
+ ];
+ class CFFTopDict extends CFFDict {
+ static get tables() {
+ return (0, r.shadow)(this, 'tables', this.createTables(h));
+ }
+ constructor(e) {
+ super(CFFTopDict.tables, e);
+ this.privateDict = null;
+ }
+ }
+ t.CFFTopDict = CFFTopDict;
+ const u = [
+ [6, 'BlueValues', 'delta', null],
+ [7, 'OtherBlues', 'delta', null],
+ [8, 'FamilyBlues', 'delta', null],
+ [9, 'FamilyOtherBlues', 'delta', null],
+ [[12, 9], 'BlueScale', 'num', 0.039625],
+ [[12, 10], 'BlueShift', 'num', 7],
+ [[12, 11], 'BlueFuzz', 'num', 1],
+ [10, 'StdHW', 'num', null],
+ [11, 'StdVW', 'num', null],
+ [[12, 12], 'StemSnapH', 'delta', null],
+ [[12, 13], 'StemSnapV', 'delta', null],
+ [[12, 14], 'ForceBold', 'num', 0],
+ [[12, 17], 'LanguageGroup', 'num', 0],
+ [[12, 18], 'ExpansionFactor', 'num', 0.06],
+ [[12, 19], 'initialRandomSeed', 'num', 0],
+ [20, 'defaultWidthX', 'num', 0],
+ [21, 'nominalWidthX', 'num', 0],
+ [19, 'Subrs', 'offset', null],
+ ];
+ class CFFPrivateDict extends CFFDict {
+ static get tables() {
+ return (0, r.shadow)(this, 'tables', this.createTables(u));
+ }
+ constructor(e) {
+ super(CFFPrivateDict.tables, e);
+ this.subrsIndex = null;
+ }
+ }
+ t.CFFPrivateDict = CFFPrivateDict;
+ const d = {ISO_ADOBE: 0, EXPERT: 1, EXPERT_SUBSET: 2};
+ class CFFCharset {
+ constructor(e, t, a, r) {
+ this.predefined = e;
+ this.format = t;
+ this.charset = a;
+ this.raw = r;
+ }
+ }
+ t.CFFCharset = CFFCharset;
+ class CFFEncoding {
+ constructor(e, t, a, r) {
+ this.predefined = e;
+ this.format = t;
+ this.encoding = a;
+ this.raw = r;
+ }
+ }
+ class CFFFDSelect {
+ constructor(e, t) {
+ this.format = e;
+ this.fdSelect = t;
+ }
+ getFDIndex(e) {
+ return e < 0 || e >= this.fdSelect.length ? -1 : this.fdSelect[e];
+ }
+ }
+ t.CFFFDSelect = CFFFDSelect;
+ class CFFOffsetTracker {
+ constructor() {
+ this.offsets = Object.create(null);
+ }
+ isTracking(e) {
+ return e in this.offsets;
+ }
+ track(e, t) {
+ if (e in this.offsets) throw new r.FormatError(`Already tracking location of ${e}`);
+ this.offsets[e] = t;
+ }
+ offset(e) {
+ for (const t in this.offsets) this.offsets[t] += e;
+ }
+ setEntryLocation(e, t, a) {
+ if (!(e in this.offsets)) throw new r.FormatError(`Not tracking location of ${e}`);
+ const n = a.data,
+ i = this.offsets[e];
+ for (let e = 0, a = t.length; e < a; ++e) {
+ const a = 5 * e + i,
+ s = a + 1,
+ o = a + 2,
+ c = a + 3,
+ l = a + 4;
+ if (29 !== n[a] || 0 !== n[s] || 0 !== n[o] || 0 !== n[c] || 0 !== n[l])
+ throw new r.FormatError('writing to an offset that is not empty');
+ const h = t[e];
+ n[a] = 29;
+ n[s] = (h >> 24) & 255;
+ n[o] = (h >> 16) & 255;
+ n[c] = (h >> 8) & 255;
+ n[l] = 255 & h;
+ }
+ }
+ }
+ class CFFCompiler {
+ constructor(e) {
+ this.cff = e;
+ }
+ compile() {
+ const e = this.cff,
+ t = {
+ data: [],
+ length: 0,
+ add(e) {
+ this.data = this.data.concat(e);
+ this.length = this.data.length;
+ },
+ },
+ a = this.compileHeader(e.header);
+ t.add(a);
+ const n = this.compileNameIndex(e.names);
+ t.add(n);
+ if (e.isCIDFont && e.topDict.hasName('FontMatrix')) {
+ const t = e.topDict.getByName('FontMatrix');
+ e.topDict.removeByName('FontMatrix');
+ for (let a = 0, n = e.fdArray.length; a < n; a++) {
+ const n = e.fdArray[a];
+ let i = t.slice(0);
+ n.hasName('FontMatrix') && (i = r.Util.transform(i, n.getByName('FontMatrix')));
+ n.setByName('FontMatrix', i);
+ }
+ }
+ const i = e.topDict.getByName('XUID');
+ i && i.length > 16 && e.topDict.removeByName('XUID');
+ e.topDict.setByName('charset', 0);
+ let s = this.compileTopDicts([e.topDict], t.length, e.isCIDFont);
+ t.add(s.output);
+ const o = s.trackers[0],
+ c = this.compileStringIndex(e.strings.strings);
+ t.add(c);
+ const l = this.compileIndex(e.globalSubrIndex);
+ t.add(l);
+ if (e.encoding && e.topDict.hasName('Encoding'))
+ if (e.encoding.predefined) o.setEntryLocation('Encoding', [e.encoding.format], t);
+ else {
+ const a = this.compileEncoding(e.encoding);
+ o.setEntryLocation('Encoding', [t.length], t);
+ t.add(a);
+ }
+ const h = this.compileCharset(e.charset, e.charStrings.count, e.strings, e.isCIDFont);
+ o.setEntryLocation('charset', [t.length], t);
+ t.add(h);
+ const u = this.compileCharStrings(e.charStrings);
+ o.setEntryLocation('CharStrings', [t.length], t);
+ t.add(u);
+ if (e.isCIDFont) {
+ o.setEntryLocation('FDSelect', [t.length], t);
+ const a = this.compileFDSelect(e.fdSelect);
+ t.add(a);
+ s = this.compileTopDicts(e.fdArray, t.length, !0);
+ o.setEntryLocation('FDArray', [t.length], t);
+ t.add(s.output);
+ const r = s.trackers;
+ this.compilePrivateDicts(e.fdArray, r, t);
+ }
+ this.compilePrivateDicts([e.topDict], [o], t);
+ t.add([0]);
+ return t.data;
+ }
+ encodeNumber(e) {
+ return Number.isInteger(e) ? this.encodeInteger(e) : this.encodeFloat(e);
+ }
+ static get EncodeFloatRegExp() {
+ return (0, r.shadow)(this, 'EncodeFloatRegExp', /\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/);
+ }
+ encodeFloat(e) {
+ let t = e.toString();
+ const a = CFFCompiler.EncodeFloatRegExp.exec(t);
+ if (a) {
+ const r = parseFloat('1e' + ((a[2] ? +a[2] : 0) + a[1].length));
+ t = (Math.round(e * r) / r).toString();
+ }
+ let r,
+ n,
+ i = '';
+ for (r = 0, n = t.length; r < n; ++r) {
+ const e = t[r];
+ i += 'e' === e ? ('-' === t[++r] ? 'c' : 'b') : '.' === e ? 'a' : '-' === e ? 'e' : e;
+ }
+ i += 1 & i.length ? 'f' : 'ff';
+ const s = [30];
+ for (r = 0, n = i.length; r < n; r += 2) s.push(parseInt(i.substring(r, r + 2), 16));
+ return s;
+ }
+ encodeInteger(e) {
+ let t;
+ t =
+ e >= -107 && e <= 107
+ ? [e + 139]
+ : e >= 108 && e <= 1131
+ ? [247 + ((e -= 108) >> 8), 255 & e]
+ : e >= -1131 && e <= -108
+ ? [251 + ((e = -e - 108) >> 8), 255 & e]
+ : e >= -32768 && e <= 32767
+ ? [28, (e >> 8) & 255, 255 & e]
+ : [29, (e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, 255 & e];
+ return t;
+ }
+ compileHeader(e) {
+ return [e.major, e.minor, 4, e.offSize];
+ }
+ compileNameIndex(e) {
+ const t = new CFFIndex();
+ for (let a = 0, n = e.length; a < n; ++a) {
+ const n = e[a],
+ i = Math.min(n.length, 127);
+ let s = new Array(i);
+ for (let e = 0; e < i; e++) {
+ let t = n[e];
+ (t < '!' ||
+ t > '~' ||
+ '[' === t ||
+ ']' === t ||
+ '(' === t ||
+ ')' === t ||
+ '{' === t ||
+ '}' === t ||
+ '<' === t ||
+ '>' === t ||
+ '/' === t ||
+ '%' === t) &&
+ (t = '_');
+ s[e] = t;
+ }
+ s = s.join('');
+ '' === s && (s = 'Bad_Font_Name');
+ t.add((0, r.stringToBytes)(s));
+ }
+ return this.compileIndex(t);
+ }
+ compileTopDicts(e, t, a) {
+ const r = [];
+ let n = new CFFIndex();
+ for (let i = 0, s = e.length; i < s; ++i) {
+ const s = e[i];
+ if (a) {
+ s.removeByName('CIDFontVersion');
+ s.removeByName('CIDFontRevision');
+ s.removeByName('CIDFontType');
+ s.removeByName('CIDCount');
+ s.removeByName('UIDBase');
+ }
+ const o = new CFFOffsetTracker(),
+ c = this.compileDict(s, o);
+ r.push(o);
+ n.add(c);
+ o.offset(t);
+ }
+ n = this.compileIndex(n, r);
+ return {trackers: r, output: n};
+ }
+ compilePrivateDicts(e, t, a) {
+ for (let n = 0, i = e.length; n < i; ++n) {
+ const i = e[n],
+ s = i.privateDict;
+ if (!s || !i.hasName('Private')) throw new r.FormatError('There must be a private dictionary.');
+ const o = new CFFOffsetTracker(),
+ c = this.compileDict(s, o);
+ let l = a.length;
+ o.offset(l);
+ c.length || (l = 0);
+ t[n].setEntryLocation('Private', [c.length, l], a);
+ a.add(c);
+ if (s.subrsIndex && s.hasName('Subrs')) {
+ const e = this.compileIndex(s.subrsIndex);
+ o.setEntryLocation('Subrs', [c.length], a);
+ a.add(e);
+ }
+ }
+ }
+ compileDict(e, t) {
+ const a = [];
+ for (const n of e.order) {
+ if (!(n in e.values)) continue;
+ let i = e.values[n],
+ s = e.types[n];
+ Array.isArray(s) || (s = [s]);
+ Array.isArray(i) || (i = [i]);
+ if (0 !== i.length) {
+ for (let o = 0, c = s.length; o < c; ++o) {
+ const c = s[o],
+ l = i[o];
+ switch (c) {
+ case 'num':
+ case 'sid':
+ a.push(...this.encodeNumber(l));
+ break;
+ case 'offset':
+ const s = e.keyToNameMap[n];
+ t.isTracking(s) || t.track(s, a.length);
+ a.push(29, 0, 0, 0, 0);
+ break;
+ case 'array':
+ case 'delta':
+ a.push(...this.encodeNumber(l));
+ for (let e = 1, t = i.length; e < t; ++e) a.push(...this.encodeNumber(i[e]));
+ break;
+ default:
+ throw new r.FormatError(`Unknown data type of ${c}`);
+ }
+ }
+ a.push(...e.opcodes[n]);
+ }
+ }
+ return a;
+ }
+ compileStringIndex(e) {
+ const t = new CFFIndex();
+ for (let a = 0, n = e.length; a < n; ++a) t.add((0, r.stringToBytes)(e[a]));
+ return this.compileIndex(t);
+ }
+ compileGlobalSubrIndex() {
+ const e = this.cff.globalSubrIndex;
+ this.out.writeByteArray(this.compileIndex(e));
+ }
+ compileCharStrings(e) {
+ const t = new CFFIndex();
+ for (let a = 0; a < e.count; a++) {
+ const r = e.get(a);
+ 0 !== r.length ? t.add(r) : t.add(new Uint8Array([139, 14]));
+ }
+ return this.compileIndex(t);
+ }
+ compileCharset(e, t, a, n) {
+ let i;
+ const s = t - 1;
+ if (n) i = new Uint8Array([2, 0, 0, (s >> 8) & 255, 255 & s]);
+ else {
+ i = new Uint8Array(1 + 2 * s);
+ i[0] = 0;
+ let t = 0;
+ const n = e.charset.length;
+ let o = !1;
+ for (let s = 1; s < i.length; s += 2) {
+ let c = 0;
+ if (t < n) {
+ const n = e.charset[t++];
+ c = a.getSID(n);
+ if (-1 === c) {
+ c = 0;
+ if (!o) {
+ o = !0;
+ (0, r.warn)(`Couldn't find ${n} in CFF strings`);
+ }
+ }
+ }
+ i[s] = (c >> 8) & 255;
+ i[s + 1] = 255 & c;
+ }
+ }
+ return this.compileTypedArray(i);
+ }
+ compileEncoding(e) {
+ return this.compileTypedArray(e.raw);
+ }
+ compileFDSelect(e) {
+ const t = e.format;
+ let a, r;
+ switch (t) {
+ case 0:
+ a = new Uint8Array(1 + e.fdSelect.length);
+ a[0] = t;
+ for (r = 0; r < e.fdSelect.length; r++) a[r + 1] = e.fdSelect[r];
+ break;
+ case 3:
+ const n = 0;
+ let i = e.fdSelect[0];
+ const s = [t, 0, 0, (n >> 8) & 255, 255 & n, i];
+ for (r = 1; r < e.fdSelect.length; r++) {
+ const t = e.fdSelect[r];
+ if (t !== i) {
+ s.push((r >> 8) & 255, 255 & r, t);
+ i = t;
+ }
+ }
+ const o = (s.length - 3) / 3;
+ s[1] = (o >> 8) & 255;
+ s[2] = 255 & o;
+ s.push((r >> 8) & 255, 255 & r);
+ a = new Uint8Array(s);
+ }
+ return this.compileTypedArray(a);
+ }
+ compileTypedArray(e) {
+ const t = [];
+ for (let a = 0, r = e.length; a < r; ++a) t[a] = e[a];
+ return t;
+ }
+ compileIndex(e, t = []) {
+ const a = e.objects,
+ r = a.length;
+ if (0 === r) return [0, 0];
+ const n = [(r >> 8) & 255, 255 & r];
+ let i,
+ s,
+ o = 1;
+ for (i = 0; i < r; ++i) o += a[i].length;
+ s = o < 256 ? 1 : o < 65536 ? 2 : o < 16777216 ? 3 : 4;
+ n.push(s);
+ let c = 1;
+ for (i = 0; i < r + 1; i++) {
+ 1 === s
+ ? n.push(255 & c)
+ : 2 === s
+ ? n.push((c >> 8) & 255, 255 & c)
+ : 3 === s
+ ? n.push((c >> 16) & 255, (c >> 8) & 255, 255 & c)
+ : n.push((c >>> 24) & 255, (c >> 16) & 255, (c >> 8) & 255, 255 & c);
+ a[i] && (c += a[i].length);
+ }
+ for (i = 0; i < r; i++) {
+ t[i] && t[i].offset(n.length);
+ for (let e = 0, t = a[i].length; e < t; e++) n.push(a[i][e]);
+ }
+ return n;
+ }
+ }
+ t.CFFCompiler = CFFCompiler;
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ISOAdobeCharset = t.ExpertSubsetCharset = t.ExpertCharset = void 0;
+ t.ISOAdobeCharset = [
+ '.notdef',
+ 'space',
+ 'exclam',
+ 'quotedbl',
+ 'numbersign',
+ 'dollar',
+ 'percent',
+ 'ampersand',
+ 'quoteright',
+ 'parenleft',
+ 'parenright',
+ 'asterisk',
+ 'plus',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'slash',
+ 'zero',
+ 'one',
+ 'two',
+ 'three',
+ 'four',
+ 'five',
+ 'six',
+ 'seven',
+ 'eight',
+ 'nine',
+ 'colon',
+ 'semicolon',
+ 'less',
+ 'equal',
+ 'greater',
+ 'question',
+ 'at',
+ 'A',
+ 'B',
+ 'C',
+ 'D',
+ 'E',
+ 'F',
+ 'G',
+ 'H',
+ 'I',
+ 'J',
+ 'K',
+ 'L',
+ 'M',
+ 'N',
+ 'O',
+ 'P',
+ 'Q',
+ 'R',
+ 'S',
+ 'T',
+ 'U',
+ 'V',
+ 'W',
+ 'X',
+ 'Y',
+ 'Z',
+ 'bracketleft',
+ 'backslash',
+ 'bracketright',
+ 'asciicircum',
+ 'underscore',
+ 'quoteleft',
+ 'a',
+ 'b',
+ 'c',
+ 'd',
+ 'e',
+ 'f',
+ 'g',
+ 'h',
+ 'i',
+ 'j',
+ 'k',
+ 'l',
+ 'm',
+ 'n',
+ 'o',
+ 'p',
+ 'q',
+ 'r',
+ 's',
+ 't',
+ 'u',
+ 'v',
+ 'w',
+ 'x',
+ 'y',
+ 'z',
+ 'braceleft',
+ 'bar',
+ 'braceright',
+ 'asciitilde',
+ 'exclamdown',
+ 'cent',
+ 'sterling',
+ 'fraction',
+ 'yen',
+ 'florin',
+ 'section',
+ 'currency',
+ 'quotesingle',
+ 'quotedblleft',
+ 'guillemotleft',
+ 'guilsinglleft',
+ 'guilsinglright',
+ 'fi',
+ 'fl',
+ 'endash',
+ 'dagger',
+ 'daggerdbl',
+ 'periodcentered',
+ 'paragraph',
+ 'bullet',
+ 'quotesinglbase',
+ 'quotedblbase',
+ 'quotedblright',
+ 'guillemotright',
+ 'ellipsis',
+ 'perthousand',
+ 'questiondown',
+ 'grave',
+ 'acute',
+ 'circumflex',
+ 'tilde',
+ 'macron',
+ 'breve',
+ 'dotaccent',
+ 'dieresis',
+ 'ring',
+ 'cedilla',
+ 'hungarumlaut',
+ 'ogonek',
+ 'caron',
+ 'emdash',
+ 'AE',
+ 'ordfeminine',
+ 'Lslash',
+ 'Oslash',
+ 'OE',
+ 'ordmasculine',
+ 'ae',
+ 'dotlessi',
+ 'lslash',
+ 'oslash',
+ 'oe',
+ 'germandbls',
+ 'onesuperior',
+ 'logicalnot',
+ 'mu',
+ 'trademark',
+ 'Eth',
+ 'onehalf',
+ 'plusminus',
+ 'Thorn',
+ 'onequarter',
+ 'divide',
+ 'brokenbar',
+ 'degree',
+ 'thorn',
+ 'threequarters',
+ 'twosuperior',
+ 'registered',
+ 'minus',
+ 'eth',
+ 'multiply',
+ 'threesuperior',
+ 'copyright',
+ 'Aacute',
+ 'Acircumflex',
+ 'Adieresis',
+ 'Agrave',
+ 'Aring',
+ 'Atilde',
+ 'Ccedilla',
+ 'Eacute',
+ 'Ecircumflex',
+ 'Edieresis',
+ 'Egrave',
+ 'Iacute',
+ 'Icircumflex',
+ 'Idieresis',
+ 'Igrave',
+ 'Ntilde',
+ 'Oacute',
+ 'Ocircumflex',
+ 'Odieresis',
+ 'Ograve',
+ 'Otilde',
+ 'Scaron',
+ 'Uacute',
+ 'Ucircumflex',
+ 'Udieresis',
+ 'Ugrave',
+ 'Yacute',
+ 'Ydieresis',
+ 'Zcaron',
+ 'aacute',
+ 'acircumflex',
+ 'adieresis',
+ 'agrave',
+ 'aring',
+ 'atilde',
+ 'ccedilla',
+ 'eacute',
+ 'ecircumflex',
+ 'edieresis',
+ 'egrave',
+ 'iacute',
+ 'icircumflex',
+ 'idieresis',
+ 'igrave',
+ 'ntilde',
+ 'oacute',
+ 'ocircumflex',
+ 'odieresis',
+ 'ograve',
+ 'otilde',
+ 'scaron',
+ 'uacute',
+ 'ucircumflex',
+ 'udieresis',
+ 'ugrave',
+ 'yacute',
+ 'ydieresis',
+ 'zcaron',
+ ];
+ t.ExpertCharset = [
+ '.notdef',
+ 'space',
+ 'exclamsmall',
+ 'Hungarumlautsmall',
+ 'dollaroldstyle',
+ 'dollarsuperior',
+ 'ampersandsmall',
+ 'Acutesmall',
+ 'parenleftsuperior',
+ 'parenrightsuperior',
+ 'twodotenleader',
+ 'onedotenleader',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'fraction',
+ 'zerooldstyle',
+ 'oneoldstyle',
+ 'twooldstyle',
+ 'threeoldstyle',
+ 'fouroldstyle',
+ 'fiveoldstyle',
+ 'sixoldstyle',
+ 'sevenoldstyle',
+ 'eightoldstyle',
+ 'nineoldstyle',
+ 'colon',
+ 'semicolon',
+ 'commasuperior',
+ 'threequartersemdash',
+ 'periodsuperior',
+ 'questionsmall',
+ 'asuperior',
+ 'bsuperior',
+ 'centsuperior',
+ 'dsuperior',
+ 'esuperior',
+ 'isuperior',
+ 'lsuperior',
+ 'msuperior',
+ 'nsuperior',
+ 'osuperior',
+ 'rsuperior',
+ 'ssuperior',
+ 'tsuperior',
+ 'ff',
+ 'fi',
+ 'fl',
+ 'ffi',
+ 'ffl',
+ 'parenleftinferior',
+ 'parenrightinferior',
+ 'Circumflexsmall',
+ 'hyphensuperior',
+ 'Gravesmall',
+ 'Asmall',
+ 'Bsmall',
+ 'Csmall',
+ 'Dsmall',
+ 'Esmall',
+ 'Fsmall',
+ 'Gsmall',
+ 'Hsmall',
+ 'Ismall',
+ 'Jsmall',
+ 'Ksmall',
+ 'Lsmall',
+ 'Msmall',
+ 'Nsmall',
+ 'Osmall',
+ 'Psmall',
+ 'Qsmall',
+ 'Rsmall',
+ 'Ssmall',
+ 'Tsmall',
+ 'Usmall',
+ 'Vsmall',
+ 'Wsmall',
+ 'Xsmall',
+ 'Ysmall',
+ 'Zsmall',
+ 'colonmonetary',
+ 'onefitted',
+ 'rupiah',
+ 'Tildesmall',
+ 'exclamdownsmall',
+ 'centoldstyle',
+ 'Lslashsmall',
+ 'Scaronsmall',
+ 'Zcaronsmall',
+ 'Dieresissmall',
+ 'Brevesmall',
+ 'Caronsmall',
+ 'Dotaccentsmall',
+ 'Macronsmall',
+ 'figuredash',
+ 'hypheninferior',
+ 'Ogoneksmall',
+ 'Ringsmall',
+ 'Cedillasmall',
+ 'onequarter',
+ 'onehalf',
+ 'threequarters',
+ 'questiondownsmall',
+ 'oneeighth',
+ 'threeeighths',
+ 'fiveeighths',
+ 'seveneighths',
+ 'onethird',
+ 'twothirds',
+ 'zerosuperior',
+ 'onesuperior',
+ 'twosuperior',
+ 'threesuperior',
+ 'foursuperior',
+ 'fivesuperior',
+ 'sixsuperior',
+ 'sevensuperior',
+ 'eightsuperior',
+ 'ninesuperior',
+ 'zeroinferior',
+ 'oneinferior',
+ 'twoinferior',
+ 'threeinferior',
+ 'fourinferior',
+ 'fiveinferior',
+ 'sixinferior',
+ 'seveninferior',
+ 'eightinferior',
+ 'nineinferior',
+ 'centinferior',
+ 'dollarinferior',
+ 'periodinferior',
+ 'commainferior',
+ 'Agravesmall',
+ 'Aacutesmall',
+ 'Acircumflexsmall',
+ 'Atildesmall',
+ 'Adieresissmall',
+ 'Aringsmall',
+ 'AEsmall',
+ 'Ccedillasmall',
+ 'Egravesmall',
+ 'Eacutesmall',
+ 'Ecircumflexsmall',
+ 'Edieresissmall',
+ 'Igravesmall',
+ 'Iacutesmall',
+ 'Icircumflexsmall',
+ 'Idieresissmall',
+ 'Ethsmall',
+ 'Ntildesmall',
+ 'Ogravesmall',
+ 'Oacutesmall',
+ 'Ocircumflexsmall',
+ 'Otildesmall',
+ 'Odieresissmall',
+ 'OEsmall',
+ 'Oslashsmall',
+ 'Ugravesmall',
+ 'Uacutesmall',
+ 'Ucircumflexsmall',
+ 'Udieresissmall',
+ 'Yacutesmall',
+ 'Thornsmall',
+ 'Ydieresissmall',
+ ];
+ t.ExpertSubsetCharset = [
+ '.notdef',
+ 'space',
+ 'dollaroldstyle',
+ 'dollarsuperior',
+ 'parenleftsuperior',
+ 'parenrightsuperior',
+ 'twodotenleader',
+ 'onedotenleader',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'fraction',
+ 'zerooldstyle',
+ 'oneoldstyle',
+ 'twooldstyle',
+ 'threeoldstyle',
+ 'fouroldstyle',
+ 'fiveoldstyle',
+ 'sixoldstyle',
+ 'sevenoldstyle',
+ 'eightoldstyle',
+ 'nineoldstyle',
+ 'colon',
+ 'semicolon',
+ 'commasuperior',
+ 'threequartersemdash',
+ 'periodsuperior',
+ 'asuperior',
+ 'bsuperior',
+ 'centsuperior',
+ 'dsuperior',
+ 'esuperior',
+ 'isuperior',
+ 'lsuperior',
+ 'msuperior',
+ 'nsuperior',
+ 'osuperior',
+ 'rsuperior',
+ 'ssuperior',
+ 'tsuperior',
+ 'ff',
+ 'fi',
+ 'fl',
+ 'ffi',
+ 'ffl',
+ 'parenleftinferior',
+ 'parenrightinferior',
+ 'hyphensuperior',
+ 'colonmonetary',
+ 'onefitted',
+ 'rupiah',
+ 'centoldstyle',
+ 'figuredash',
+ 'hypheninferior',
+ 'onequarter',
+ 'onehalf',
+ 'threequarters',
+ 'oneeighth',
+ 'threeeighths',
+ 'fiveeighths',
+ 'seveneighths',
+ 'onethird',
+ 'twothirds',
+ 'zerosuperior',
+ 'onesuperior',
+ 'twosuperior',
+ 'threesuperior',
+ 'foursuperior',
+ 'fivesuperior',
+ 'sixsuperior',
+ 'sevensuperior',
+ 'eightsuperior',
+ 'ninesuperior',
+ 'zeroinferior',
+ 'oneinferior',
+ 'twoinferior',
+ 'threeinferior',
+ 'fourinferior',
+ 'fiveinferior',
+ 'sixinferior',
+ 'seveninferior',
+ 'eightinferior',
+ 'nineinferior',
+ 'centinferior',
+ 'dollarinferior',
+ 'periodinferior',
+ 'commainferior',
+ ];
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ZapfDingbatsEncoding =
+ t.WinAnsiEncoding =
+ t.SymbolSetEncoding =
+ t.StandardEncoding =
+ t.MacRomanEncoding =
+ t.ExpertEncoding =
+ void 0;
+ t.getEncoding = function getEncoding(e) {
+ switch (e) {
+ case 'WinAnsiEncoding':
+ return s;
+ case 'StandardEncoding':
+ return i;
+ case 'MacRomanEncoding':
+ return n;
+ case 'SymbolSetEncoding':
+ return o;
+ case 'ZapfDingbatsEncoding':
+ return c;
+ case 'ExpertEncoding':
+ return a;
+ case 'MacExpertEncoding':
+ return r;
+ default:
+ return null;
+ }
+ };
+ const a = [
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'space',
+ 'exclamsmall',
+ 'Hungarumlautsmall',
+ '',
+ 'dollaroldstyle',
+ 'dollarsuperior',
+ 'ampersandsmall',
+ 'Acutesmall',
+ 'parenleftsuperior',
+ 'parenrightsuperior',
+ 'twodotenleader',
+ 'onedotenleader',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'fraction',
+ 'zerooldstyle',
+ 'oneoldstyle',
+ 'twooldstyle',
+ 'threeoldstyle',
+ 'fouroldstyle',
+ 'fiveoldstyle',
+ 'sixoldstyle',
+ 'sevenoldstyle',
+ 'eightoldstyle',
+ 'nineoldstyle',
+ 'colon',
+ 'semicolon',
+ 'commasuperior',
+ 'threequartersemdash',
+ 'periodsuperior',
+ 'questionsmall',
+ '',
+ 'asuperior',
+ 'bsuperior',
+ 'centsuperior',
+ 'dsuperior',
+ 'esuperior',
+ '',
+ '',
+ '',
+ 'isuperior',
+ '',
+ '',
+ 'lsuperior',
+ 'msuperior',
+ 'nsuperior',
+ 'osuperior',
+ '',
+ '',
+ 'rsuperior',
+ 'ssuperior',
+ 'tsuperior',
+ '',
+ 'ff',
+ 'fi',
+ 'fl',
+ 'ffi',
+ 'ffl',
+ 'parenleftinferior',
+ '',
+ 'parenrightinferior',
+ 'Circumflexsmall',
+ 'hyphensuperior',
+ 'Gravesmall',
+ 'Asmall',
+ 'Bsmall',
+ 'Csmall',
+ 'Dsmall',
+ 'Esmall',
+ 'Fsmall',
+ 'Gsmall',
+ 'Hsmall',
+ 'Ismall',
+ 'Jsmall',
+ 'Ksmall',
+ 'Lsmall',
+ 'Msmall',
+ 'Nsmall',
+ 'Osmall',
+ 'Psmall',
+ 'Qsmall',
+ 'Rsmall',
+ 'Ssmall',
+ 'Tsmall',
+ 'Usmall',
+ 'Vsmall',
+ 'Wsmall',
+ 'Xsmall',
+ 'Ysmall',
+ 'Zsmall',
+ 'colonmonetary',
+ 'onefitted',
+ 'rupiah',
+ 'Tildesmall',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'exclamdownsmall',
+ 'centoldstyle',
+ 'Lslashsmall',
+ '',
+ '',
+ 'Scaronsmall',
+ 'Zcaronsmall',
+ 'Dieresissmall',
+ 'Brevesmall',
+ 'Caronsmall',
+ '',
+ 'Dotaccentsmall',
+ '',
+ '',
+ 'Macronsmall',
+ '',
+ '',
+ 'figuredash',
+ 'hypheninferior',
+ '',
+ '',
+ 'Ogoneksmall',
+ 'Ringsmall',
+ 'Cedillasmall',
+ '',
+ '',
+ '',
+ 'onequarter',
+ 'onehalf',
+ 'threequarters',
+ 'questiondownsmall',
+ 'oneeighth',
+ 'threeeighths',
+ 'fiveeighths',
+ 'seveneighths',
+ 'onethird',
+ 'twothirds',
+ '',
+ '',
+ 'zerosuperior',
+ 'onesuperior',
+ 'twosuperior',
+ 'threesuperior',
+ 'foursuperior',
+ 'fivesuperior',
+ 'sixsuperior',
+ 'sevensuperior',
+ 'eightsuperior',
+ 'ninesuperior',
+ 'zeroinferior',
+ 'oneinferior',
+ 'twoinferior',
+ 'threeinferior',
+ 'fourinferior',
+ 'fiveinferior',
+ 'sixinferior',
+ 'seveninferior',
+ 'eightinferior',
+ 'nineinferior',
+ 'centinferior',
+ 'dollarinferior',
+ 'periodinferior',
+ 'commainferior',
+ 'Agravesmall',
+ 'Aacutesmall',
+ 'Acircumflexsmall',
+ 'Atildesmall',
+ 'Adieresissmall',
+ 'Aringsmall',
+ 'AEsmall',
+ 'Ccedillasmall',
+ 'Egravesmall',
+ 'Eacutesmall',
+ 'Ecircumflexsmall',
+ 'Edieresissmall',
+ 'Igravesmall',
+ 'Iacutesmall',
+ 'Icircumflexsmall',
+ 'Idieresissmall',
+ 'Ethsmall',
+ 'Ntildesmall',
+ 'Ogravesmall',
+ 'Oacutesmall',
+ 'Ocircumflexsmall',
+ 'Otildesmall',
+ 'Odieresissmall',
+ 'OEsmall',
+ 'Oslashsmall',
+ 'Ugravesmall',
+ 'Uacutesmall',
+ 'Ucircumflexsmall',
+ 'Udieresissmall',
+ 'Yacutesmall',
+ 'Thornsmall',
+ 'Ydieresissmall',
+ ];
+ t.ExpertEncoding = a;
+ const r = [
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'space',
+ 'exclamsmall',
+ 'Hungarumlautsmall',
+ 'centoldstyle',
+ 'dollaroldstyle',
+ 'dollarsuperior',
+ 'ampersandsmall',
+ 'Acutesmall',
+ 'parenleftsuperior',
+ 'parenrightsuperior',
+ 'twodotenleader',
+ 'onedotenleader',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'fraction',
+ 'zerooldstyle',
+ 'oneoldstyle',
+ 'twooldstyle',
+ 'threeoldstyle',
+ 'fouroldstyle',
+ 'fiveoldstyle',
+ 'sixoldstyle',
+ 'sevenoldstyle',
+ 'eightoldstyle',
+ 'nineoldstyle',
+ 'colon',
+ 'semicolon',
+ '',
+ 'threequartersemdash',
+ '',
+ 'questionsmall',
+ '',
+ '',
+ '',
+ '',
+ 'Ethsmall',
+ '',
+ '',
+ 'onequarter',
+ 'onehalf',
+ 'threequarters',
+ 'oneeighth',
+ 'threeeighths',
+ 'fiveeighths',
+ 'seveneighths',
+ 'onethird',
+ 'twothirds',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'ff',
+ 'fi',
+ 'fl',
+ 'ffi',
+ 'ffl',
+ 'parenleftinferior',
+ '',
+ 'parenrightinferior',
+ 'Circumflexsmall',
+ 'hypheninferior',
+ 'Gravesmall',
+ 'Asmall',
+ 'Bsmall',
+ 'Csmall',
+ 'Dsmall',
+ 'Esmall',
+ 'Fsmall',
+ 'Gsmall',
+ 'Hsmall',
+ 'Ismall',
+ 'Jsmall',
+ 'Ksmall',
+ 'Lsmall',
+ 'Msmall',
+ 'Nsmall',
+ 'Osmall',
+ 'Psmall',
+ 'Qsmall',
+ 'Rsmall',
+ 'Ssmall',
+ 'Tsmall',
+ 'Usmall',
+ 'Vsmall',
+ 'Wsmall',
+ 'Xsmall',
+ 'Ysmall',
+ 'Zsmall',
+ 'colonmonetary',
+ 'onefitted',
+ 'rupiah',
+ 'Tildesmall',
+ '',
+ '',
+ 'asuperior',
+ 'centsuperior',
+ '',
+ '',
+ '',
+ '',
+ 'Aacutesmall',
+ 'Agravesmall',
+ 'Acircumflexsmall',
+ 'Adieresissmall',
+ 'Atildesmall',
+ 'Aringsmall',
+ 'Ccedillasmall',
+ 'Eacutesmall',
+ 'Egravesmall',
+ 'Ecircumflexsmall',
+ 'Edieresissmall',
+ 'Iacutesmall',
+ 'Igravesmall',
+ 'Icircumflexsmall',
+ 'Idieresissmall',
+ 'Ntildesmall',
+ 'Oacutesmall',
+ 'Ogravesmall',
+ 'Ocircumflexsmall',
+ 'Odieresissmall',
+ 'Otildesmall',
+ 'Uacutesmall',
+ 'Ugravesmall',
+ 'Ucircumflexsmall',
+ 'Udieresissmall',
+ '',
+ 'eightsuperior',
+ 'fourinferior',
+ 'threeinferior',
+ 'sixinferior',
+ 'eightinferior',
+ 'seveninferior',
+ 'Scaronsmall',
+ '',
+ 'centinferior',
+ 'twoinferior',
+ '',
+ 'Dieresissmall',
+ '',
+ 'Caronsmall',
+ 'osuperior',
+ 'fiveinferior',
+ '',
+ 'commainferior',
+ 'periodinferior',
+ 'Yacutesmall',
+ '',
+ 'dollarinferior',
+ '',
+ '',
+ 'Thornsmall',
+ '',
+ 'nineinferior',
+ 'zeroinferior',
+ 'Zcaronsmall',
+ 'AEsmall',
+ 'Oslashsmall',
+ 'questiondownsmall',
+ 'oneinferior',
+ 'Lslashsmall',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'Cedillasmall',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'OEsmall',
+ 'figuredash',
+ 'hyphensuperior',
+ '',
+ '',
+ '',
+ '',
+ 'exclamdownsmall',
+ '',
+ 'Ydieresissmall',
+ '',
+ 'onesuperior',
+ 'twosuperior',
+ 'threesuperior',
+ 'foursuperior',
+ 'fivesuperior',
+ 'sixsuperior',
+ 'sevensuperior',
+ 'ninesuperior',
+ 'zerosuperior',
+ '',
+ 'esuperior',
+ 'rsuperior',
+ 'tsuperior',
+ '',
+ '',
+ 'isuperior',
+ 'ssuperior',
+ 'dsuperior',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'lsuperior',
+ 'Ogoneksmall',
+ 'Brevesmall',
+ 'Macronsmall',
+ 'bsuperior',
+ 'nsuperior',
+ 'msuperior',
+ 'commasuperior',
+ 'periodsuperior',
+ 'Dotaccentsmall',
+ 'Ringsmall',
+ '',
+ '',
+ '',
+ '',
+ ],
+ n = [
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'space',
+ 'exclam',
+ 'quotedbl',
+ 'numbersign',
+ 'dollar',
+ 'percent',
+ 'ampersand',
+ 'quotesingle',
+ 'parenleft',
+ 'parenright',
+ 'asterisk',
+ 'plus',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'slash',
+ 'zero',
+ 'one',
+ 'two',
+ 'three',
+ 'four',
+ 'five',
+ 'six',
+ 'seven',
+ 'eight',
+ 'nine',
+ 'colon',
+ 'semicolon',
+ 'less',
+ 'equal',
+ 'greater',
+ 'question',
+ 'at',
+ 'A',
+ 'B',
+ 'C',
+ 'D',
+ 'E',
+ 'F',
+ 'G',
+ 'H',
+ 'I',
+ 'J',
+ 'K',
+ 'L',
+ 'M',
+ 'N',
+ 'O',
+ 'P',
+ 'Q',
+ 'R',
+ 'S',
+ 'T',
+ 'U',
+ 'V',
+ 'W',
+ 'X',
+ 'Y',
+ 'Z',
+ 'bracketleft',
+ 'backslash',
+ 'bracketright',
+ 'asciicircum',
+ 'underscore',
+ 'grave',
+ 'a',
+ 'b',
+ 'c',
+ 'd',
+ 'e',
+ 'f',
+ 'g',
+ 'h',
+ 'i',
+ 'j',
+ 'k',
+ 'l',
+ 'm',
+ 'n',
+ 'o',
+ 'p',
+ 'q',
+ 'r',
+ 's',
+ 't',
+ 'u',
+ 'v',
+ 'w',
+ 'x',
+ 'y',
+ 'z',
+ 'braceleft',
+ 'bar',
+ 'braceright',
+ 'asciitilde',
+ '',
+ 'Adieresis',
+ 'Aring',
+ 'Ccedilla',
+ 'Eacute',
+ 'Ntilde',
+ 'Odieresis',
+ 'Udieresis',
+ 'aacute',
+ 'agrave',
+ 'acircumflex',
+ 'adieresis',
+ 'atilde',
+ 'aring',
+ 'ccedilla',
+ 'eacute',
+ 'egrave',
+ 'ecircumflex',
+ 'edieresis',
+ 'iacute',
+ 'igrave',
+ 'icircumflex',
+ 'idieresis',
+ 'ntilde',
+ 'oacute',
+ 'ograve',
+ 'ocircumflex',
+ 'odieresis',
+ 'otilde',
+ 'uacute',
+ 'ugrave',
+ 'ucircumflex',
+ 'udieresis',
+ 'dagger',
+ 'degree',
+ 'cent',
+ 'sterling',
+ 'section',
+ 'bullet',
+ 'paragraph',
+ 'germandbls',
+ 'registered',
+ 'copyright',
+ 'trademark',
+ 'acute',
+ 'dieresis',
+ 'notequal',
+ 'AE',
+ 'Oslash',
+ 'infinity',
+ 'plusminus',
+ 'lessequal',
+ 'greaterequal',
+ 'yen',
+ 'mu',
+ 'partialdiff',
+ 'summation',
+ 'product',
+ 'pi',
+ 'integral',
+ 'ordfeminine',
+ 'ordmasculine',
+ 'Omega',
+ 'ae',
+ 'oslash',
+ 'questiondown',
+ 'exclamdown',
+ 'logicalnot',
+ 'radical',
+ 'florin',
+ 'approxequal',
+ 'Delta',
+ 'guillemotleft',
+ 'guillemotright',
+ 'ellipsis',
+ 'space',
+ 'Agrave',
+ 'Atilde',
+ 'Otilde',
+ 'OE',
+ 'oe',
+ 'endash',
+ 'emdash',
+ 'quotedblleft',
+ 'quotedblright',
+ 'quoteleft',
+ 'quoteright',
+ 'divide',
+ 'lozenge',
+ 'ydieresis',
+ 'Ydieresis',
+ 'fraction',
+ 'currency',
+ 'guilsinglleft',
+ 'guilsinglright',
+ 'fi',
+ 'fl',
+ 'daggerdbl',
+ 'periodcentered',
+ 'quotesinglbase',
+ 'quotedblbase',
+ 'perthousand',
+ 'Acircumflex',
+ 'Ecircumflex',
+ 'Aacute',
+ 'Edieresis',
+ 'Egrave',
+ 'Iacute',
+ 'Icircumflex',
+ 'Idieresis',
+ 'Igrave',
+ 'Oacute',
+ 'Ocircumflex',
+ 'apple',
+ 'Ograve',
+ 'Uacute',
+ 'Ucircumflex',
+ 'Ugrave',
+ 'dotlessi',
+ 'circumflex',
+ 'tilde',
+ 'macron',
+ 'breve',
+ 'dotaccent',
+ 'ring',
+ 'cedilla',
+ 'hungarumlaut',
+ 'ogonek',
+ 'caron',
+ ];
+ t.MacRomanEncoding = n;
+ const i = [
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'space',
+ 'exclam',
+ 'quotedbl',
+ 'numbersign',
+ 'dollar',
+ 'percent',
+ 'ampersand',
+ 'quoteright',
+ 'parenleft',
+ 'parenright',
+ 'asterisk',
+ 'plus',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'slash',
+ 'zero',
+ 'one',
+ 'two',
+ 'three',
+ 'four',
+ 'five',
+ 'six',
+ 'seven',
+ 'eight',
+ 'nine',
+ 'colon',
+ 'semicolon',
+ 'less',
+ 'equal',
+ 'greater',
+ 'question',
+ 'at',
+ 'A',
+ 'B',
+ 'C',
+ 'D',
+ 'E',
+ 'F',
+ 'G',
+ 'H',
+ 'I',
+ 'J',
+ 'K',
+ 'L',
+ 'M',
+ 'N',
+ 'O',
+ 'P',
+ 'Q',
+ 'R',
+ 'S',
+ 'T',
+ 'U',
+ 'V',
+ 'W',
+ 'X',
+ 'Y',
+ 'Z',
+ 'bracketleft',
+ 'backslash',
+ 'bracketright',
+ 'asciicircum',
+ 'underscore',
+ 'quoteleft',
+ 'a',
+ 'b',
+ 'c',
+ 'd',
+ 'e',
+ 'f',
+ 'g',
+ 'h',
+ 'i',
+ 'j',
+ 'k',
+ 'l',
+ 'm',
+ 'n',
+ 'o',
+ 'p',
+ 'q',
+ 'r',
+ 's',
+ 't',
+ 'u',
+ 'v',
+ 'w',
+ 'x',
+ 'y',
+ 'z',
+ 'braceleft',
+ 'bar',
+ 'braceright',
+ 'asciitilde',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'exclamdown',
+ 'cent',
+ 'sterling',
+ 'fraction',
+ 'yen',
+ 'florin',
+ 'section',
+ 'currency',
+ 'quotesingle',
+ 'quotedblleft',
+ 'guillemotleft',
+ 'guilsinglleft',
+ 'guilsinglright',
+ 'fi',
+ 'fl',
+ '',
+ 'endash',
+ 'dagger',
+ 'daggerdbl',
+ 'periodcentered',
+ '',
+ 'paragraph',
+ 'bullet',
+ 'quotesinglbase',
+ 'quotedblbase',
+ 'quotedblright',
+ 'guillemotright',
+ 'ellipsis',
+ 'perthousand',
+ '',
+ 'questiondown',
+ '',
+ 'grave',
+ 'acute',
+ 'circumflex',
+ 'tilde',
+ 'macron',
+ 'breve',
+ 'dotaccent',
+ 'dieresis',
+ '',
+ 'ring',
+ 'cedilla',
+ '',
+ 'hungarumlaut',
+ 'ogonek',
+ 'caron',
+ 'emdash',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'AE',
+ '',
+ 'ordfeminine',
+ '',
+ '',
+ '',
+ '',
+ 'Lslash',
+ 'Oslash',
+ 'OE',
+ 'ordmasculine',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'ae',
+ '',
+ '',
+ '',
+ 'dotlessi',
+ '',
+ '',
+ 'lslash',
+ 'oslash',
+ 'oe',
+ 'germandbls',
+ '',
+ '',
+ '',
+ '',
+ ];
+ t.StandardEncoding = i;
+ const s = [
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'space',
+ 'exclam',
+ 'quotedbl',
+ 'numbersign',
+ 'dollar',
+ 'percent',
+ 'ampersand',
+ 'quotesingle',
+ 'parenleft',
+ 'parenright',
+ 'asterisk',
+ 'plus',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'slash',
+ 'zero',
+ 'one',
+ 'two',
+ 'three',
+ 'four',
+ 'five',
+ 'six',
+ 'seven',
+ 'eight',
+ 'nine',
+ 'colon',
+ 'semicolon',
+ 'less',
+ 'equal',
+ 'greater',
+ 'question',
+ 'at',
+ 'A',
+ 'B',
+ 'C',
+ 'D',
+ 'E',
+ 'F',
+ 'G',
+ 'H',
+ 'I',
+ 'J',
+ 'K',
+ 'L',
+ 'M',
+ 'N',
+ 'O',
+ 'P',
+ 'Q',
+ 'R',
+ 'S',
+ 'T',
+ 'U',
+ 'V',
+ 'W',
+ 'X',
+ 'Y',
+ 'Z',
+ 'bracketleft',
+ 'backslash',
+ 'bracketright',
+ 'asciicircum',
+ 'underscore',
+ 'grave',
+ 'a',
+ 'b',
+ 'c',
+ 'd',
+ 'e',
+ 'f',
+ 'g',
+ 'h',
+ 'i',
+ 'j',
+ 'k',
+ 'l',
+ 'm',
+ 'n',
+ 'o',
+ 'p',
+ 'q',
+ 'r',
+ 's',
+ 't',
+ 'u',
+ 'v',
+ 'w',
+ 'x',
+ 'y',
+ 'z',
+ 'braceleft',
+ 'bar',
+ 'braceright',
+ 'asciitilde',
+ 'bullet',
+ 'Euro',
+ 'bullet',
+ 'quotesinglbase',
+ 'florin',
+ 'quotedblbase',
+ 'ellipsis',
+ 'dagger',
+ 'daggerdbl',
+ 'circumflex',
+ 'perthousand',
+ 'Scaron',
+ 'guilsinglleft',
+ 'OE',
+ 'bullet',
+ 'Zcaron',
+ 'bullet',
+ 'bullet',
+ 'quoteleft',
+ 'quoteright',
+ 'quotedblleft',
+ 'quotedblright',
+ 'bullet',
+ 'endash',
+ 'emdash',
+ 'tilde',
+ 'trademark',
+ 'scaron',
+ 'guilsinglright',
+ 'oe',
+ 'bullet',
+ 'zcaron',
+ 'Ydieresis',
+ 'space',
+ 'exclamdown',
+ 'cent',
+ 'sterling',
+ 'currency',
+ 'yen',
+ 'brokenbar',
+ 'section',
+ 'dieresis',
+ 'copyright',
+ 'ordfeminine',
+ 'guillemotleft',
+ 'logicalnot',
+ 'hyphen',
+ 'registered',
+ 'macron',
+ 'degree',
+ 'plusminus',
+ 'twosuperior',
+ 'threesuperior',
+ 'acute',
+ 'mu',
+ 'paragraph',
+ 'periodcentered',
+ 'cedilla',
+ 'onesuperior',
+ 'ordmasculine',
+ 'guillemotright',
+ 'onequarter',
+ 'onehalf',
+ 'threequarters',
+ 'questiondown',
+ 'Agrave',
+ 'Aacute',
+ 'Acircumflex',
+ 'Atilde',
+ 'Adieresis',
+ 'Aring',
+ 'AE',
+ 'Ccedilla',
+ 'Egrave',
+ 'Eacute',
+ 'Ecircumflex',
+ 'Edieresis',
+ 'Igrave',
+ 'Iacute',
+ 'Icircumflex',
+ 'Idieresis',
+ 'Eth',
+ 'Ntilde',
+ 'Ograve',
+ 'Oacute',
+ 'Ocircumflex',
+ 'Otilde',
+ 'Odieresis',
+ 'multiply',
+ 'Oslash',
+ 'Ugrave',
+ 'Uacute',
+ 'Ucircumflex',
+ 'Udieresis',
+ 'Yacute',
+ 'Thorn',
+ 'germandbls',
+ 'agrave',
+ 'aacute',
+ 'acircumflex',
+ 'atilde',
+ 'adieresis',
+ 'aring',
+ 'ae',
+ 'ccedilla',
+ 'egrave',
+ 'eacute',
+ 'ecircumflex',
+ 'edieresis',
+ 'igrave',
+ 'iacute',
+ 'icircumflex',
+ 'idieresis',
+ 'eth',
+ 'ntilde',
+ 'ograve',
+ 'oacute',
+ 'ocircumflex',
+ 'otilde',
+ 'odieresis',
+ 'divide',
+ 'oslash',
+ 'ugrave',
+ 'uacute',
+ 'ucircumflex',
+ 'udieresis',
+ 'yacute',
+ 'thorn',
+ 'ydieresis',
+ ];
+ t.WinAnsiEncoding = s;
+ const o = [
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'space',
+ 'exclam',
+ 'universal',
+ 'numbersign',
+ 'existential',
+ 'percent',
+ 'ampersand',
+ 'suchthat',
+ 'parenleft',
+ 'parenright',
+ 'asteriskmath',
+ 'plus',
+ 'comma',
+ 'minus',
+ 'period',
+ 'slash',
+ 'zero',
+ 'one',
+ 'two',
+ 'three',
+ 'four',
+ 'five',
+ 'six',
+ 'seven',
+ 'eight',
+ 'nine',
+ 'colon',
+ 'semicolon',
+ 'less',
+ 'equal',
+ 'greater',
+ 'question',
+ 'congruent',
+ 'Alpha',
+ 'Beta',
+ 'Chi',
+ 'Delta',
+ 'Epsilon',
+ 'Phi',
+ 'Gamma',
+ 'Eta',
+ 'Iota',
+ 'theta1',
+ 'Kappa',
+ 'Lambda',
+ 'Mu',
+ 'Nu',
+ 'Omicron',
+ 'Pi',
+ 'Theta',
+ 'Rho',
+ 'Sigma',
+ 'Tau',
+ 'Upsilon',
+ 'sigma1',
+ 'Omega',
+ 'Xi',
+ 'Psi',
+ 'Zeta',
+ 'bracketleft',
+ 'therefore',
+ 'bracketright',
+ 'perpendicular',
+ 'underscore',
+ 'radicalex',
+ 'alpha',
+ 'beta',
+ 'chi',
+ 'delta',
+ 'epsilon',
+ 'phi',
+ 'gamma',
+ 'eta',
+ 'iota',
+ 'phi1',
+ 'kappa',
+ 'lambda',
+ 'mu',
+ 'nu',
+ 'omicron',
+ 'pi',
+ 'theta',
+ 'rho',
+ 'sigma',
+ 'tau',
+ 'upsilon',
+ 'omega1',
+ 'omega',
+ 'xi',
+ 'psi',
+ 'zeta',
+ 'braceleft',
+ 'bar',
+ 'braceright',
+ 'similar',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'Euro',
+ 'Upsilon1',
+ 'minute',
+ 'lessequal',
+ 'fraction',
+ 'infinity',
+ 'florin',
+ 'club',
+ 'diamond',
+ 'heart',
+ 'spade',
+ 'arrowboth',
+ 'arrowleft',
+ 'arrowup',
+ 'arrowright',
+ 'arrowdown',
+ 'degree',
+ 'plusminus',
+ 'second',
+ 'greaterequal',
+ 'multiply',
+ 'proportional',
+ 'partialdiff',
+ 'bullet',
+ 'divide',
+ 'notequal',
+ 'equivalence',
+ 'approxequal',
+ 'ellipsis',
+ 'arrowvertex',
+ 'arrowhorizex',
+ 'carriagereturn',
+ 'aleph',
+ 'Ifraktur',
+ 'Rfraktur',
+ 'weierstrass',
+ 'circlemultiply',
+ 'circleplus',
+ 'emptyset',
+ 'intersection',
+ 'union',
+ 'propersuperset',
+ 'reflexsuperset',
+ 'notsubset',
+ 'propersubset',
+ 'reflexsubset',
+ 'element',
+ 'notelement',
+ 'angle',
+ 'gradient',
+ 'registerserif',
+ 'copyrightserif',
+ 'trademarkserif',
+ 'product',
+ 'radical',
+ 'dotmath',
+ 'logicalnot',
+ 'logicaland',
+ 'logicalor',
+ 'arrowdblboth',
+ 'arrowdblleft',
+ 'arrowdblup',
+ 'arrowdblright',
+ 'arrowdbldown',
+ 'lozenge',
+ 'angleleft',
+ 'registersans',
+ 'copyrightsans',
+ 'trademarksans',
+ 'summation',
+ 'parenlefttp',
+ 'parenleftex',
+ 'parenleftbt',
+ 'bracketlefttp',
+ 'bracketleftex',
+ 'bracketleftbt',
+ 'bracelefttp',
+ 'braceleftmid',
+ 'braceleftbt',
+ 'braceex',
+ '',
+ 'angleright',
+ 'integral',
+ 'integraltp',
+ 'integralex',
+ 'integralbt',
+ 'parenrighttp',
+ 'parenrightex',
+ 'parenrightbt',
+ 'bracketrighttp',
+ 'bracketrightex',
+ 'bracketrightbt',
+ 'bracerighttp',
+ 'bracerightmid',
+ 'bracerightbt',
+ '',
+ ];
+ t.SymbolSetEncoding = o;
+ const c = [
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'space',
+ 'a1',
+ 'a2',
+ 'a202',
+ 'a3',
+ 'a4',
+ 'a5',
+ 'a119',
+ 'a118',
+ 'a117',
+ 'a11',
+ 'a12',
+ 'a13',
+ 'a14',
+ 'a15',
+ 'a16',
+ 'a105',
+ 'a17',
+ 'a18',
+ 'a19',
+ 'a20',
+ 'a21',
+ 'a22',
+ 'a23',
+ 'a24',
+ 'a25',
+ 'a26',
+ 'a27',
+ 'a28',
+ 'a6',
+ 'a7',
+ 'a8',
+ 'a9',
+ 'a10',
+ 'a29',
+ 'a30',
+ 'a31',
+ 'a32',
+ 'a33',
+ 'a34',
+ 'a35',
+ 'a36',
+ 'a37',
+ 'a38',
+ 'a39',
+ 'a40',
+ 'a41',
+ 'a42',
+ 'a43',
+ 'a44',
+ 'a45',
+ 'a46',
+ 'a47',
+ 'a48',
+ 'a49',
+ 'a50',
+ 'a51',
+ 'a52',
+ 'a53',
+ 'a54',
+ 'a55',
+ 'a56',
+ 'a57',
+ 'a58',
+ 'a59',
+ 'a60',
+ 'a61',
+ 'a62',
+ 'a63',
+ 'a64',
+ 'a65',
+ 'a66',
+ 'a67',
+ 'a68',
+ 'a69',
+ 'a70',
+ 'a71',
+ 'a72',
+ 'a73',
+ 'a74',
+ 'a203',
+ 'a75',
+ 'a204',
+ 'a76',
+ 'a77',
+ 'a78',
+ 'a79',
+ 'a81',
+ 'a82',
+ 'a83',
+ 'a84',
+ 'a97',
+ 'a98',
+ 'a99',
+ 'a100',
+ '',
+ 'a89',
+ 'a90',
+ 'a93',
+ 'a94',
+ 'a91',
+ 'a92',
+ 'a205',
+ 'a85',
+ 'a206',
+ 'a86',
+ 'a87',
+ 'a88',
+ 'a95',
+ 'a96',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'a101',
+ 'a102',
+ 'a103',
+ 'a104',
+ 'a106',
+ 'a107',
+ 'a108',
+ 'a112',
+ 'a111',
+ 'a110',
+ 'a109',
+ 'a120',
+ 'a121',
+ 'a122',
+ 'a123',
+ 'a124',
+ 'a125',
+ 'a126',
+ 'a127',
+ 'a128',
+ 'a129',
+ 'a130',
+ 'a131',
+ 'a132',
+ 'a133',
+ 'a134',
+ 'a135',
+ 'a136',
+ 'a137',
+ 'a138',
+ 'a139',
+ 'a140',
+ 'a141',
+ 'a142',
+ 'a143',
+ 'a144',
+ 'a145',
+ 'a146',
+ 'a147',
+ 'a148',
+ 'a149',
+ 'a150',
+ 'a151',
+ 'a152',
+ 'a153',
+ 'a154',
+ 'a155',
+ 'a156',
+ 'a157',
+ 'a158',
+ 'a159',
+ 'a160',
+ 'a161',
+ 'a163',
+ 'a164',
+ 'a196',
+ 'a165',
+ 'a192',
+ 'a166',
+ 'a167',
+ 'a168',
+ 'a169',
+ 'a170',
+ 'a171',
+ 'a172',
+ 'a173',
+ 'a162',
+ 'a174',
+ 'a175',
+ 'a176',
+ 'a177',
+ 'a178',
+ 'a179',
+ 'a193',
+ 'a180',
+ 'a199',
+ 'a181',
+ 'a200',
+ 'a182',
+ '',
+ 'a201',
+ 'a183',
+ 'a184',
+ 'a197',
+ 'a185',
+ 'a194',
+ 'a198',
+ 'a186',
+ 'a195',
+ 'a187',
+ 'a188',
+ 'a189',
+ 'a190',
+ 'a191',
+ '',
+ ];
+ t.ZapfDingbatsEncoding = c;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.SEAC_ANALYSIS_ENABLED = t.MacStandardGlyphOrdering = t.FontFlags = void 0;
+ t.getFontType = function getFontType(e, t, a = !1) {
+ switch (e) {
+ case 'Type1':
+ return a ? r.FontType.TYPE1STANDARD : 'Type1C' === t ? r.FontType.TYPE1C : r.FontType.TYPE1;
+ case 'CIDFontType0':
+ return 'CIDFontType0C' === t ? r.FontType.CIDFONTTYPE0C : r.FontType.CIDFONTTYPE0;
+ case 'OpenType':
+ return r.FontType.OPENTYPE;
+ case 'TrueType':
+ return r.FontType.TRUETYPE;
+ case 'CIDFontType2':
+ return r.FontType.CIDFONTTYPE2;
+ case 'MMType1':
+ return r.FontType.MMTYPE1;
+ case 'Type0':
+ return r.FontType.TYPE0;
+ default:
+ return r.FontType.UNKNOWN;
+ }
+ };
+ t.normalizeFontName = function normalizeFontName(e) {
+ return e.replace(/[,_]/g, '-').replace(/\s/g, '');
+ };
+ t.recoverGlyphName = recoverGlyphName;
+ t.type1FontGlyphMapping = function type1FontGlyphMapping(e, t, a) {
+ const r = Object.create(null);
+ let s, c, l;
+ const h = !!(e.flags & o.Symbolic);
+ if (e.isInternalFont) {
+ l = t;
+ for (c = 0; c < l.length; c++) {
+ s = a.indexOf(l[c]);
+ r[c] = s >= 0 ? s : 0;
+ }
+ } else if (e.baseEncodingName) {
+ l = (0, n.getEncoding)(e.baseEncodingName);
+ for (c = 0; c < l.length; c++) {
+ s = a.indexOf(l[c]);
+ r[c] = s >= 0 ? s : 0;
+ }
+ } else if (h) for (c in t) r[c] = t[c];
+ else {
+ l = n.StandardEncoding;
+ for (c = 0; c < l.length; c++) {
+ s = a.indexOf(l[c]);
+ r[c] = s >= 0 ? s : 0;
+ }
+ }
+ const u = e.differences;
+ let d;
+ if (u)
+ for (c in u) {
+ const e = u[c];
+ s = a.indexOf(e);
+ if (-1 === s) {
+ d || (d = (0, i.getGlyphsUnicode)());
+ const t = recoverGlyphName(e, d);
+ t !== e && (s = a.indexOf(t));
+ }
+ r[c] = s >= 0 ? s : 0;
+ }
+ return r;
+ };
+ var r = a(2),
+ n = a(37),
+ i = a(39),
+ s = a(40);
+ t.SEAC_ANALYSIS_ENABLED = !0;
+ const o = {
+ FixedPitch: 1,
+ Serif: 2,
+ Symbolic: 4,
+ Script: 8,
+ Nonsymbolic: 32,
+ Italic: 64,
+ AllCap: 65536,
+ SmallCap: 131072,
+ ForceBold: 262144,
+ };
+ t.FontFlags = o;
+ t.MacStandardGlyphOrdering = [
+ '.notdef',
+ '.null',
+ 'nonmarkingreturn',
+ 'space',
+ 'exclam',
+ 'quotedbl',
+ 'numbersign',
+ 'dollar',
+ 'percent',
+ 'ampersand',
+ 'quotesingle',
+ 'parenleft',
+ 'parenright',
+ 'asterisk',
+ 'plus',
+ 'comma',
+ 'hyphen',
+ 'period',
+ 'slash',
+ 'zero',
+ 'one',
+ 'two',
+ 'three',
+ 'four',
+ 'five',
+ 'six',
+ 'seven',
+ 'eight',
+ 'nine',
+ 'colon',
+ 'semicolon',
+ 'less',
+ 'equal',
+ 'greater',
+ 'question',
+ 'at',
+ 'A',
+ 'B',
+ 'C',
+ 'D',
+ 'E',
+ 'F',
+ 'G',
+ 'H',
+ 'I',
+ 'J',
+ 'K',
+ 'L',
+ 'M',
+ 'N',
+ 'O',
+ 'P',
+ 'Q',
+ 'R',
+ 'S',
+ 'T',
+ 'U',
+ 'V',
+ 'W',
+ 'X',
+ 'Y',
+ 'Z',
+ 'bracketleft',
+ 'backslash',
+ 'bracketright',
+ 'asciicircum',
+ 'underscore',
+ 'grave',
+ 'a',
+ 'b',
+ 'c',
+ 'd',
+ 'e',
+ 'f',
+ 'g',
+ 'h',
+ 'i',
+ 'j',
+ 'k',
+ 'l',
+ 'm',
+ 'n',
+ 'o',
+ 'p',
+ 'q',
+ 'r',
+ 's',
+ 't',
+ 'u',
+ 'v',
+ 'w',
+ 'x',
+ 'y',
+ 'z',
+ 'braceleft',
+ 'bar',
+ 'braceright',
+ 'asciitilde',
+ 'Adieresis',
+ 'Aring',
+ 'Ccedilla',
+ 'Eacute',
+ 'Ntilde',
+ 'Odieresis',
+ 'Udieresis',
+ 'aacute',
+ 'agrave',
+ 'acircumflex',
+ 'adieresis',
+ 'atilde',
+ 'aring',
+ 'ccedilla',
+ 'eacute',
+ 'egrave',
+ 'ecircumflex',
+ 'edieresis',
+ 'iacute',
+ 'igrave',
+ 'icircumflex',
+ 'idieresis',
+ 'ntilde',
+ 'oacute',
+ 'ograve',
+ 'ocircumflex',
+ 'odieresis',
+ 'otilde',
+ 'uacute',
+ 'ugrave',
+ 'ucircumflex',
+ 'udieresis',
+ 'dagger',
+ 'degree',
+ 'cent',
+ 'sterling',
+ 'section',
+ 'bullet',
+ 'paragraph',
+ 'germandbls',
+ 'registered',
+ 'copyright',
+ 'trademark',
+ 'acute',
+ 'dieresis',
+ 'notequal',
+ 'AE',
+ 'Oslash',
+ 'infinity',
+ 'plusminus',
+ 'lessequal',
+ 'greaterequal',
+ 'yen',
+ 'mu',
+ 'partialdiff',
+ 'summation',
+ 'product',
+ 'pi',
+ 'integral',
+ 'ordfeminine',
+ 'ordmasculine',
+ 'Omega',
+ 'ae',
+ 'oslash',
+ 'questiondown',
+ 'exclamdown',
+ 'logicalnot',
+ 'radical',
+ 'florin',
+ 'approxequal',
+ 'Delta',
+ 'guillemotleft',
+ 'guillemotright',
+ 'ellipsis',
+ 'nonbreakingspace',
+ 'Agrave',
+ 'Atilde',
+ 'Otilde',
+ 'OE',
+ 'oe',
+ 'endash',
+ 'emdash',
+ 'quotedblleft',
+ 'quotedblright',
+ 'quoteleft',
+ 'quoteright',
+ 'divide',
+ 'lozenge',
+ 'ydieresis',
+ 'Ydieresis',
+ 'fraction',
+ 'currency',
+ 'guilsinglleft',
+ 'guilsinglright',
+ 'fi',
+ 'fl',
+ 'daggerdbl',
+ 'periodcentered',
+ 'quotesinglbase',
+ 'quotedblbase',
+ 'perthousand',
+ 'Acircumflex',
+ 'Ecircumflex',
+ 'Aacute',
+ 'Edieresis',
+ 'Egrave',
+ 'Iacute',
+ 'Icircumflex',
+ 'Idieresis',
+ 'Igrave',
+ 'Oacute',
+ 'Ocircumflex',
+ 'apple',
+ 'Ograve',
+ 'Uacute',
+ 'Ucircumflex',
+ 'Ugrave',
+ 'dotlessi',
+ 'circumflex',
+ 'tilde',
+ 'macron',
+ 'breve',
+ 'dotaccent',
+ 'ring',
+ 'cedilla',
+ 'hungarumlaut',
+ 'ogonek',
+ 'caron',
+ 'Lslash',
+ 'lslash',
+ 'Scaron',
+ 'scaron',
+ 'Zcaron',
+ 'zcaron',
+ 'brokenbar',
+ 'Eth',
+ 'eth',
+ 'Yacute',
+ 'yacute',
+ 'Thorn',
+ 'thorn',
+ 'minus',
+ 'multiply',
+ 'onesuperior',
+ 'twosuperior',
+ 'threesuperior',
+ 'onehalf',
+ 'onequarter',
+ 'threequarters',
+ 'franc',
+ 'Gbreve',
+ 'gbreve',
+ 'Idotaccent',
+ 'Scedilla',
+ 'scedilla',
+ 'Cacute',
+ 'cacute',
+ 'Ccaron',
+ 'ccaron',
+ 'dcroat',
+ ];
+ function recoverGlyphName(e, t) {
+ if (void 0 !== t[e]) return e;
+ const a = (0, s.getUnicodeForGlyph)(e, t);
+ if (-1 !== a) for (const e in t) if (t[e] === a) return e;
+ (0, r.info)('Unable to recover a standard glyph name for: ' + e);
+ return e;
+ }
+ },
+ (e, t, a) => {
+ a.r(t);
+ a.d(t, {getDingbatsGlyphsUnicode: () => i, getGlyphsUnicode: () => n});
+ var r = a(6);
+ const n = (0, r.getArrayLookupTableFactory)(function () {
+ return [
+ 'A',
+ 65,
+ 'AE',
+ 198,
+ 'AEacute',
+ 508,
+ 'AEmacron',
+ 482,
+ 'AEsmall',
+ 63462,
+ 'Aacute',
+ 193,
+ 'Aacutesmall',
+ 63457,
+ 'Abreve',
+ 258,
+ 'Abreveacute',
+ 7854,
+ 'Abrevecyrillic',
+ 1232,
+ 'Abrevedotbelow',
+ 7862,
+ 'Abrevegrave',
+ 7856,
+ 'Abrevehookabove',
+ 7858,
+ 'Abrevetilde',
+ 7860,
+ 'Acaron',
+ 461,
+ 'Acircle',
+ 9398,
+ 'Acircumflex',
+ 194,
+ 'Acircumflexacute',
+ 7844,
+ 'Acircumflexdotbelow',
+ 7852,
+ 'Acircumflexgrave',
+ 7846,
+ 'Acircumflexhookabove',
+ 7848,
+ 'Acircumflexsmall',
+ 63458,
+ 'Acircumflextilde',
+ 7850,
+ 'Acute',
+ 63177,
+ 'Acutesmall',
+ 63412,
+ 'Acyrillic',
+ 1040,
+ 'Adblgrave',
+ 512,
+ 'Adieresis',
+ 196,
+ 'Adieresiscyrillic',
+ 1234,
+ 'Adieresismacron',
+ 478,
+ 'Adieresissmall',
+ 63460,
+ 'Adotbelow',
+ 7840,
+ 'Adotmacron',
+ 480,
+ 'Agrave',
+ 192,
+ 'Agravesmall',
+ 63456,
+ 'Ahookabove',
+ 7842,
+ 'Aiecyrillic',
+ 1236,
+ 'Ainvertedbreve',
+ 514,
+ 'Alpha',
+ 913,
+ 'Alphatonos',
+ 902,
+ 'Amacron',
+ 256,
+ 'Amonospace',
+ 65313,
+ 'Aogonek',
+ 260,
+ 'Aring',
+ 197,
+ 'Aringacute',
+ 506,
+ 'Aringbelow',
+ 7680,
+ 'Aringsmall',
+ 63461,
+ 'Asmall',
+ 63329,
+ 'Atilde',
+ 195,
+ 'Atildesmall',
+ 63459,
+ 'Aybarmenian',
+ 1329,
+ 'B',
+ 66,
+ 'Bcircle',
+ 9399,
+ 'Bdotaccent',
+ 7682,
+ 'Bdotbelow',
+ 7684,
+ 'Becyrillic',
+ 1041,
+ 'Benarmenian',
+ 1330,
+ 'Beta',
+ 914,
+ 'Bhook',
+ 385,
+ 'Blinebelow',
+ 7686,
+ 'Bmonospace',
+ 65314,
+ 'Brevesmall',
+ 63220,
+ 'Bsmall',
+ 63330,
+ 'Btopbar',
+ 386,
+ 'C',
+ 67,
+ 'Caarmenian',
+ 1342,
+ 'Cacute',
+ 262,
+ 'Caron',
+ 63178,
+ 'Caronsmall',
+ 63221,
+ 'Ccaron',
+ 268,
+ 'Ccedilla',
+ 199,
+ 'Ccedillaacute',
+ 7688,
+ 'Ccedillasmall',
+ 63463,
+ 'Ccircle',
+ 9400,
+ 'Ccircumflex',
+ 264,
+ 'Cdot',
+ 266,
+ 'Cdotaccent',
+ 266,
+ 'Cedillasmall',
+ 63416,
+ 'Chaarmenian',
+ 1353,
+ 'Cheabkhasiancyrillic',
+ 1212,
+ 'Checyrillic',
+ 1063,
+ 'Chedescenderabkhasiancyrillic',
+ 1214,
+ 'Chedescendercyrillic',
+ 1206,
+ 'Chedieresiscyrillic',
+ 1268,
+ 'Cheharmenian',
+ 1347,
+ 'Chekhakassiancyrillic',
+ 1227,
+ 'Cheverticalstrokecyrillic',
+ 1208,
+ 'Chi',
+ 935,
+ 'Chook',
+ 391,
+ 'Circumflexsmall',
+ 63222,
+ 'Cmonospace',
+ 65315,
+ 'Coarmenian',
+ 1361,
+ 'Csmall',
+ 63331,
+ 'D',
+ 68,
+ 'DZ',
+ 497,
+ 'DZcaron',
+ 452,
+ 'Daarmenian',
+ 1332,
+ 'Dafrican',
+ 393,
+ 'Dcaron',
+ 270,
+ 'Dcedilla',
+ 7696,
+ 'Dcircle',
+ 9401,
+ 'Dcircumflexbelow',
+ 7698,
+ 'Dcroat',
+ 272,
+ 'Ddotaccent',
+ 7690,
+ 'Ddotbelow',
+ 7692,
+ 'Decyrillic',
+ 1044,
+ 'Deicoptic',
+ 1006,
+ 'Delta',
+ 8710,
+ 'Deltagreek',
+ 916,
+ 'Dhook',
+ 394,
+ 'Dieresis',
+ 63179,
+ 'DieresisAcute',
+ 63180,
+ 'DieresisGrave',
+ 63181,
+ 'Dieresissmall',
+ 63400,
+ 'Digammagreek',
+ 988,
+ 'Djecyrillic',
+ 1026,
+ 'Dlinebelow',
+ 7694,
+ 'Dmonospace',
+ 65316,
+ 'Dotaccentsmall',
+ 63223,
+ 'Dslash',
+ 272,
+ 'Dsmall',
+ 63332,
+ 'Dtopbar',
+ 395,
+ 'Dz',
+ 498,
+ 'Dzcaron',
+ 453,
+ 'Dzeabkhasiancyrillic',
+ 1248,
+ 'Dzecyrillic',
+ 1029,
+ 'Dzhecyrillic',
+ 1039,
+ 'E',
+ 69,
+ 'Eacute',
+ 201,
+ 'Eacutesmall',
+ 63465,
+ 'Ebreve',
+ 276,
+ 'Ecaron',
+ 282,
+ 'Ecedillabreve',
+ 7708,
+ 'Echarmenian',
+ 1333,
+ 'Ecircle',
+ 9402,
+ 'Ecircumflex',
+ 202,
+ 'Ecircumflexacute',
+ 7870,
+ 'Ecircumflexbelow',
+ 7704,
+ 'Ecircumflexdotbelow',
+ 7878,
+ 'Ecircumflexgrave',
+ 7872,
+ 'Ecircumflexhookabove',
+ 7874,
+ 'Ecircumflexsmall',
+ 63466,
+ 'Ecircumflextilde',
+ 7876,
+ 'Ecyrillic',
+ 1028,
+ 'Edblgrave',
+ 516,
+ 'Edieresis',
+ 203,
+ 'Edieresissmall',
+ 63467,
+ 'Edot',
+ 278,
+ 'Edotaccent',
+ 278,
+ 'Edotbelow',
+ 7864,
+ 'Efcyrillic',
+ 1060,
+ 'Egrave',
+ 200,
+ 'Egravesmall',
+ 63464,
+ 'Eharmenian',
+ 1335,
+ 'Ehookabove',
+ 7866,
+ 'Eightroman',
+ 8551,
+ 'Einvertedbreve',
+ 518,
+ 'Eiotifiedcyrillic',
+ 1124,
+ 'Elcyrillic',
+ 1051,
+ 'Elevenroman',
+ 8554,
+ 'Emacron',
+ 274,
+ 'Emacronacute',
+ 7702,
+ 'Emacrongrave',
+ 7700,
+ 'Emcyrillic',
+ 1052,
+ 'Emonospace',
+ 65317,
+ 'Encyrillic',
+ 1053,
+ 'Endescendercyrillic',
+ 1186,
+ 'Eng',
+ 330,
+ 'Enghecyrillic',
+ 1188,
+ 'Enhookcyrillic',
+ 1223,
+ 'Eogonek',
+ 280,
+ 'Eopen',
+ 400,
+ 'Epsilon',
+ 917,
+ 'Epsilontonos',
+ 904,
+ 'Ercyrillic',
+ 1056,
+ 'Ereversed',
+ 398,
+ 'Ereversedcyrillic',
+ 1069,
+ 'Escyrillic',
+ 1057,
+ 'Esdescendercyrillic',
+ 1194,
+ 'Esh',
+ 425,
+ 'Esmall',
+ 63333,
+ 'Eta',
+ 919,
+ 'Etarmenian',
+ 1336,
+ 'Etatonos',
+ 905,
+ 'Eth',
+ 208,
+ 'Ethsmall',
+ 63472,
+ 'Etilde',
+ 7868,
+ 'Etildebelow',
+ 7706,
+ 'Euro',
+ 8364,
+ 'Ezh',
+ 439,
+ 'Ezhcaron',
+ 494,
+ 'Ezhreversed',
+ 440,
+ 'F',
+ 70,
+ 'Fcircle',
+ 9403,
+ 'Fdotaccent',
+ 7710,
+ 'Feharmenian',
+ 1366,
+ 'Feicoptic',
+ 996,
+ 'Fhook',
+ 401,
+ 'Fitacyrillic',
+ 1138,
+ 'Fiveroman',
+ 8548,
+ 'Fmonospace',
+ 65318,
+ 'Fourroman',
+ 8547,
+ 'Fsmall',
+ 63334,
+ 'G',
+ 71,
+ 'GBsquare',
+ 13191,
+ 'Gacute',
+ 500,
+ 'Gamma',
+ 915,
+ 'Gammaafrican',
+ 404,
+ 'Gangiacoptic',
+ 1002,
+ 'Gbreve',
+ 286,
+ 'Gcaron',
+ 486,
+ 'Gcedilla',
+ 290,
+ 'Gcircle',
+ 9404,
+ 'Gcircumflex',
+ 284,
+ 'Gcommaaccent',
+ 290,
+ 'Gdot',
+ 288,
+ 'Gdotaccent',
+ 288,
+ 'Gecyrillic',
+ 1043,
+ 'Ghadarmenian',
+ 1346,
+ 'Ghemiddlehookcyrillic',
+ 1172,
+ 'Ghestrokecyrillic',
+ 1170,
+ 'Gheupturncyrillic',
+ 1168,
+ 'Ghook',
+ 403,
+ 'Gimarmenian',
+ 1331,
+ 'Gjecyrillic',
+ 1027,
+ 'Gmacron',
+ 7712,
+ 'Gmonospace',
+ 65319,
+ 'Grave',
+ 63182,
+ 'Gravesmall',
+ 63328,
+ 'Gsmall',
+ 63335,
+ 'Gsmallhook',
+ 667,
+ 'Gstroke',
+ 484,
+ 'H',
+ 72,
+ 'H18533',
+ 9679,
+ 'H18543',
+ 9642,
+ 'H18551',
+ 9643,
+ 'H22073',
+ 9633,
+ 'HPsquare',
+ 13259,
+ 'Haabkhasiancyrillic',
+ 1192,
+ 'Hadescendercyrillic',
+ 1202,
+ 'Hardsigncyrillic',
+ 1066,
+ 'Hbar',
+ 294,
+ 'Hbrevebelow',
+ 7722,
+ 'Hcedilla',
+ 7720,
+ 'Hcircle',
+ 9405,
+ 'Hcircumflex',
+ 292,
+ 'Hdieresis',
+ 7718,
+ 'Hdotaccent',
+ 7714,
+ 'Hdotbelow',
+ 7716,
+ 'Hmonospace',
+ 65320,
+ 'Hoarmenian',
+ 1344,
+ 'Horicoptic',
+ 1e3,
+ 'Hsmall',
+ 63336,
+ 'Hungarumlaut',
+ 63183,
+ 'Hungarumlautsmall',
+ 63224,
+ 'Hzsquare',
+ 13200,
+ 'I',
+ 73,
+ 'IAcyrillic',
+ 1071,
+ 'IJ',
+ 306,
+ 'IUcyrillic',
+ 1070,
+ 'Iacute',
+ 205,
+ 'Iacutesmall',
+ 63469,
+ 'Ibreve',
+ 300,
+ 'Icaron',
+ 463,
+ 'Icircle',
+ 9406,
+ 'Icircumflex',
+ 206,
+ 'Icircumflexsmall',
+ 63470,
+ 'Icyrillic',
+ 1030,
+ 'Idblgrave',
+ 520,
+ 'Idieresis',
+ 207,
+ 'Idieresisacute',
+ 7726,
+ 'Idieresiscyrillic',
+ 1252,
+ 'Idieresissmall',
+ 63471,
+ 'Idot',
+ 304,
+ 'Idotaccent',
+ 304,
+ 'Idotbelow',
+ 7882,
+ 'Iebrevecyrillic',
+ 1238,
+ 'Iecyrillic',
+ 1045,
+ 'Ifraktur',
+ 8465,
+ 'Igrave',
+ 204,
+ 'Igravesmall',
+ 63468,
+ 'Ihookabove',
+ 7880,
+ 'Iicyrillic',
+ 1048,
+ 'Iinvertedbreve',
+ 522,
+ 'Iishortcyrillic',
+ 1049,
+ 'Imacron',
+ 298,
+ 'Imacroncyrillic',
+ 1250,
+ 'Imonospace',
+ 65321,
+ 'Iniarmenian',
+ 1339,
+ 'Iocyrillic',
+ 1025,
+ 'Iogonek',
+ 302,
+ 'Iota',
+ 921,
+ 'Iotaafrican',
+ 406,
+ 'Iotadieresis',
+ 938,
+ 'Iotatonos',
+ 906,
+ 'Ismall',
+ 63337,
+ 'Istroke',
+ 407,
+ 'Itilde',
+ 296,
+ 'Itildebelow',
+ 7724,
+ 'Izhitsacyrillic',
+ 1140,
+ 'Izhitsadblgravecyrillic',
+ 1142,
+ 'J',
+ 74,
+ 'Jaarmenian',
+ 1345,
+ 'Jcircle',
+ 9407,
+ 'Jcircumflex',
+ 308,
+ 'Jecyrillic',
+ 1032,
+ 'Jheharmenian',
+ 1355,
+ 'Jmonospace',
+ 65322,
+ 'Jsmall',
+ 63338,
+ 'K',
+ 75,
+ 'KBsquare',
+ 13189,
+ 'KKsquare',
+ 13261,
+ 'Kabashkircyrillic',
+ 1184,
+ 'Kacute',
+ 7728,
+ 'Kacyrillic',
+ 1050,
+ 'Kadescendercyrillic',
+ 1178,
+ 'Kahookcyrillic',
+ 1219,
+ 'Kappa',
+ 922,
+ 'Kastrokecyrillic',
+ 1182,
+ 'Kaverticalstrokecyrillic',
+ 1180,
+ 'Kcaron',
+ 488,
+ 'Kcedilla',
+ 310,
+ 'Kcircle',
+ 9408,
+ 'Kcommaaccent',
+ 310,
+ 'Kdotbelow',
+ 7730,
+ 'Keharmenian',
+ 1364,
+ 'Kenarmenian',
+ 1343,
+ 'Khacyrillic',
+ 1061,
+ 'Kheicoptic',
+ 998,
+ 'Khook',
+ 408,
+ 'Kjecyrillic',
+ 1036,
+ 'Klinebelow',
+ 7732,
+ 'Kmonospace',
+ 65323,
+ 'Koppacyrillic',
+ 1152,
+ 'Koppagreek',
+ 990,
+ 'Ksicyrillic',
+ 1134,
+ 'Ksmall',
+ 63339,
+ 'L',
+ 76,
+ 'LJ',
+ 455,
+ 'LL',
+ 63167,
+ 'Lacute',
+ 313,
+ 'Lambda',
+ 923,
+ 'Lcaron',
+ 317,
+ 'Lcedilla',
+ 315,
+ 'Lcircle',
+ 9409,
+ 'Lcircumflexbelow',
+ 7740,
+ 'Lcommaaccent',
+ 315,
+ 'Ldot',
+ 319,
+ 'Ldotaccent',
+ 319,
+ 'Ldotbelow',
+ 7734,
+ 'Ldotbelowmacron',
+ 7736,
+ 'Liwnarmenian',
+ 1340,
+ 'Lj',
+ 456,
+ 'Ljecyrillic',
+ 1033,
+ 'Llinebelow',
+ 7738,
+ 'Lmonospace',
+ 65324,
+ 'Lslash',
+ 321,
+ 'Lslashsmall',
+ 63225,
+ 'Lsmall',
+ 63340,
+ 'M',
+ 77,
+ 'MBsquare',
+ 13190,
+ 'Macron',
+ 63184,
+ 'Macronsmall',
+ 63407,
+ 'Macute',
+ 7742,
+ 'Mcircle',
+ 9410,
+ 'Mdotaccent',
+ 7744,
+ 'Mdotbelow',
+ 7746,
+ 'Menarmenian',
+ 1348,
+ 'Mmonospace',
+ 65325,
+ 'Msmall',
+ 63341,
+ 'Mturned',
+ 412,
+ 'Mu',
+ 924,
+ 'N',
+ 78,
+ 'NJ',
+ 458,
+ 'Nacute',
+ 323,
+ 'Ncaron',
+ 327,
+ 'Ncedilla',
+ 325,
+ 'Ncircle',
+ 9411,
+ 'Ncircumflexbelow',
+ 7754,
+ 'Ncommaaccent',
+ 325,
+ 'Ndotaccent',
+ 7748,
+ 'Ndotbelow',
+ 7750,
+ 'Nhookleft',
+ 413,
+ 'Nineroman',
+ 8552,
+ 'Nj',
+ 459,
+ 'Njecyrillic',
+ 1034,
+ 'Nlinebelow',
+ 7752,
+ 'Nmonospace',
+ 65326,
+ 'Nowarmenian',
+ 1350,
+ 'Nsmall',
+ 63342,
+ 'Ntilde',
+ 209,
+ 'Ntildesmall',
+ 63473,
+ 'Nu',
+ 925,
+ 'O',
+ 79,
+ 'OE',
+ 338,
+ 'OEsmall',
+ 63226,
+ 'Oacute',
+ 211,
+ 'Oacutesmall',
+ 63475,
+ 'Obarredcyrillic',
+ 1256,
+ 'Obarreddieresiscyrillic',
+ 1258,
+ 'Obreve',
+ 334,
+ 'Ocaron',
+ 465,
+ 'Ocenteredtilde',
+ 415,
+ 'Ocircle',
+ 9412,
+ 'Ocircumflex',
+ 212,
+ 'Ocircumflexacute',
+ 7888,
+ 'Ocircumflexdotbelow',
+ 7896,
+ 'Ocircumflexgrave',
+ 7890,
+ 'Ocircumflexhookabove',
+ 7892,
+ 'Ocircumflexsmall',
+ 63476,
+ 'Ocircumflextilde',
+ 7894,
+ 'Ocyrillic',
+ 1054,
+ 'Odblacute',
+ 336,
+ 'Odblgrave',
+ 524,
+ 'Odieresis',
+ 214,
+ 'Odieresiscyrillic',
+ 1254,
+ 'Odieresissmall',
+ 63478,
+ 'Odotbelow',
+ 7884,
+ 'Ogoneksmall',
+ 63227,
+ 'Ograve',
+ 210,
+ 'Ogravesmall',
+ 63474,
+ 'Oharmenian',
+ 1365,
+ 'Ohm',
+ 8486,
+ 'Ohookabove',
+ 7886,
+ 'Ohorn',
+ 416,
+ 'Ohornacute',
+ 7898,
+ 'Ohorndotbelow',
+ 7906,
+ 'Ohorngrave',
+ 7900,
+ 'Ohornhookabove',
+ 7902,
+ 'Ohorntilde',
+ 7904,
+ 'Ohungarumlaut',
+ 336,
+ 'Oi',
+ 418,
+ 'Oinvertedbreve',
+ 526,
+ 'Omacron',
+ 332,
+ 'Omacronacute',
+ 7762,
+ 'Omacrongrave',
+ 7760,
+ 'Omega',
+ 8486,
+ 'Omegacyrillic',
+ 1120,
+ 'Omegagreek',
+ 937,
+ 'Omegaroundcyrillic',
+ 1146,
+ 'Omegatitlocyrillic',
+ 1148,
+ 'Omegatonos',
+ 911,
+ 'Omicron',
+ 927,
+ 'Omicrontonos',
+ 908,
+ 'Omonospace',
+ 65327,
+ 'Oneroman',
+ 8544,
+ 'Oogonek',
+ 490,
+ 'Oogonekmacron',
+ 492,
+ 'Oopen',
+ 390,
+ 'Oslash',
+ 216,
+ 'Oslashacute',
+ 510,
+ 'Oslashsmall',
+ 63480,
+ 'Osmall',
+ 63343,
+ 'Ostrokeacute',
+ 510,
+ 'Otcyrillic',
+ 1150,
+ 'Otilde',
+ 213,
+ 'Otildeacute',
+ 7756,
+ 'Otildedieresis',
+ 7758,
+ 'Otildesmall',
+ 63477,
+ 'P',
+ 80,
+ 'Pacute',
+ 7764,
+ 'Pcircle',
+ 9413,
+ 'Pdotaccent',
+ 7766,
+ 'Pecyrillic',
+ 1055,
+ 'Peharmenian',
+ 1354,
+ 'Pemiddlehookcyrillic',
+ 1190,
+ 'Phi',
+ 934,
+ 'Phook',
+ 420,
+ 'Pi',
+ 928,
+ 'Piwrarmenian',
+ 1363,
+ 'Pmonospace',
+ 65328,
+ 'Psi',
+ 936,
+ 'Psicyrillic',
+ 1136,
+ 'Psmall',
+ 63344,
+ 'Q',
+ 81,
+ 'Qcircle',
+ 9414,
+ 'Qmonospace',
+ 65329,
+ 'Qsmall',
+ 63345,
+ 'R',
+ 82,
+ 'Raarmenian',
+ 1356,
+ 'Racute',
+ 340,
+ 'Rcaron',
+ 344,
+ 'Rcedilla',
+ 342,
+ 'Rcircle',
+ 9415,
+ 'Rcommaaccent',
+ 342,
+ 'Rdblgrave',
+ 528,
+ 'Rdotaccent',
+ 7768,
+ 'Rdotbelow',
+ 7770,
+ 'Rdotbelowmacron',
+ 7772,
+ 'Reharmenian',
+ 1360,
+ 'Rfraktur',
+ 8476,
+ 'Rho',
+ 929,
+ 'Ringsmall',
+ 63228,
+ 'Rinvertedbreve',
+ 530,
+ 'Rlinebelow',
+ 7774,
+ 'Rmonospace',
+ 65330,
+ 'Rsmall',
+ 63346,
+ 'Rsmallinverted',
+ 641,
+ 'Rsmallinvertedsuperior',
+ 694,
+ 'S',
+ 83,
+ 'SF010000',
+ 9484,
+ 'SF020000',
+ 9492,
+ 'SF030000',
+ 9488,
+ 'SF040000',
+ 9496,
+ 'SF050000',
+ 9532,
+ 'SF060000',
+ 9516,
+ 'SF070000',
+ 9524,
+ 'SF080000',
+ 9500,
+ 'SF090000',
+ 9508,
+ 'SF100000',
+ 9472,
+ 'SF110000',
+ 9474,
+ 'SF190000',
+ 9569,
+ 'SF200000',
+ 9570,
+ 'SF210000',
+ 9558,
+ 'SF220000',
+ 9557,
+ 'SF230000',
+ 9571,
+ 'SF240000',
+ 9553,
+ 'SF250000',
+ 9559,
+ 'SF260000',
+ 9565,
+ 'SF270000',
+ 9564,
+ 'SF280000',
+ 9563,
+ 'SF360000',
+ 9566,
+ 'SF370000',
+ 9567,
+ 'SF380000',
+ 9562,
+ 'SF390000',
+ 9556,
+ 'SF400000',
+ 9577,
+ 'SF410000',
+ 9574,
+ 'SF420000',
+ 9568,
+ 'SF430000',
+ 9552,
+ 'SF440000',
+ 9580,
+ 'SF450000',
+ 9575,
+ 'SF460000',
+ 9576,
+ 'SF470000',
+ 9572,
+ 'SF480000',
+ 9573,
+ 'SF490000',
+ 9561,
+ 'SF500000',
+ 9560,
+ 'SF510000',
+ 9554,
+ 'SF520000',
+ 9555,
+ 'SF530000',
+ 9579,
+ 'SF540000',
+ 9578,
+ 'Sacute',
+ 346,
+ 'Sacutedotaccent',
+ 7780,
+ 'Sampigreek',
+ 992,
+ 'Scaron',
+ 352,
+ 'Scarondotaccent',
+ 7782,
+ 'Scaronsmall',
+ 63229,
+ 'Scedilla',
+ 350,
+ 'Schwa',
+ 399,
+ 'Schwacyrillic',
+ 1240,
+ 'Schwadieresiscyrillic',
+ 1242,
+ 'Scircle',
+ 9416,
+ 'Scircumflex',
+ 348,
+ 'Scommaaccent',
+ 536,
+ 'Sdotaccent',
+ 7776,
+ 'Sdotbelow',
+ 7778,
+ 'Sdotbelowdotaccent',
+ 7784,
+ 'Seharmenian',
+ 1357,
+ 'Sevenroman',
+ 8550,
+ 'Shaarmenian',
+ 1351,
+ 'Shacyrillic',
+ 1064,
+ 'Shchacyrillic',
+ 1065,
+ 'Sheicoptic',
+ 994,
+ 'Shhacyrillic',
+ 1210,
+ 'Shimacoptic',
+ 1004,
+ 'Sigma',
+ 931,
+ 'Sixroman',
+ 8549,
+ 'Smonospace',
+ 65331,
+ 'Softsigncyrillic',
+ 1068,
+ 'Ssmall',
+ 63347,
+ 'Stigmagreek',
+ 986,
+ 'T',
+ 84,
+ 'Tau',
+ 932,
+ 'Tbar',
+ 358,
+ 'Tcaron',
+ 356,
+ 'Tcedilla',
+ 354,
+ 'Tcircle',
+ 9417,
+ 'Tcircumflexbelow',
+ 7792,
+ 'Tcommaaccent',
+ 354,
+ 'Tdotaccent',
+ 7786,
+ 'Tdotbelow',
+ 7788,
+ 'Tecyrillic',
+ 1058,
+ 'Tedescendercyrillic',
+ 1196,
+ 'Tenroman',
+ 8553,
+ 'Tetsecyrillic',
+ 1204,
+ 'Theta',
+ 920,
+ 'Thook',
+ 428,
+ 'Thorn',
+ 222,
+ 'Thornsmall',
+ 63486,
+ 'Threeroman',
+ 8546,
+ 'Tildesmall',
+ 63230,
+ 'Tiwnarmenian',
+ 1359,
+ 'Tlinebelow',
+ 7790,
+ 'Tmonospace',
+ 65332,
+ 'Toarmenian',
+ 1337,
+ 'Tonefive',
+ 444,
+ 'Tonesix',
+ 388,
+ 'Tonetwo',
+ 423,
+ 'Tretroflexhook',
+ 430,
+ 'Tsecyrillic',
+ 1062,
+ 'Tshecyrillic',
+ 1035,
+ 'Tsmall',
+ 63348,
+ 'Twelveroman',
+ 8555,
+ 'Tworoman',
+ 8545,
+ 'U',
+ 85,
+ 'Uacute',
+ 218,
+ 'Uacutesmall',
+ 63482,
+ 'Ubreve',
+ 364,
+ 'Ucaron',
+ 467,
+ 'Ucircle',
+ 9418,
+ 'Ucircumflex',
+ 219,
+ 'Ucircumflexbelow',
+ 7798,
+ 'Ucircumflexsmall',
+ 63483,
+ 'Ucyrillic',
+ 1059,
+ 'Udblacute',
+ 368,
+ 'Udblgrave',
+ 532,
+ 'Udieresis',
+ 220,
+ 'Udieresisacute',
+ 471,
+ 'Udieresisbelow',
+ 7794,
+ 'Udieresiscaron',
+ 473,
+ 'Udieresiscyrillic',
+ 1264,
+ 'Udieresisgrave',
+ 475,
+ 'Udieresismacron',
+ 469,
+ 'Udieresissmall',
+ 63484,
+ 'Udotbelow',
+ 7908,
+ 'Ugrave',
+ 217,
+ 'Ugravesmall',
+ 63481,
+ 'Uhookabove',
+ 7910,
+ 'Uhorn',
+ 431,
+ 'Uhornacute',
+ 7912,
+ 'Uhorndotbelow',
+ 7920,
+ 'Uhorngrave',
+ 7914,
+ 'Uhornhookabove',
+ 7916,
+ 'Uhorntilde',
+ 7918,
+ 'Uhungarumlaut',
+ 368,
+ 'Uhungarumlautcyrillic',
+ 1266,
+ 'Uinvertedbreve',
+ 534,
+ 'Ukcyrillic',
+ 1144,
+ 'Umacron',
+ 362,
+ 'Umacroncyrillic',
+ 1262,
+ 'Umacrondieresis',
+ 7802,
+ 'Umonospace',
+ 65333,
+ 'Uogonek',
+ 370,
+ 'Upsilon',
+ 933,
+ 'Upsilon1',
+ 978,
+ 'Upsilonacutehooksymbolgreek',
+ 979,
+ 'Upsilonafrican',
+ 433,
+ 'Upsilondieresis',
+ 939,
+ 'Upsilondieresishooksymbolgreek',
+ 980,
+ 'Upsilonhooksymbol',
+ 978,
+ 'Upsilontonos',
+ 910,
+ 'Uring',
+ 366,
+ 'Ushortcyrillic',
+ 1038,
+ 'Usmall',
+ 63349,
+ 'Ustraightcyrillic',
+ 1198,
+ 'Ustraightstrokecyrillic',
+ 1200,
+ 'Utilde',
+ 360,
+ 'Utildeacute',
+ 7800,
+ 'Utildebelow',
+ 7796,
+ 'V',
+ 86,
+ 'Vcircle',
+ 9419,
+ 'Vdotbelow',
+ 7806,
+ 'Vecyrillic',
+ 1042,
+ 'Vewarmenian',
+ 1358,
+ 'Vhook',
+ 434,
+ 'Vmonospace',
+ 65334,
+ 'Voarmenian',
+ 1352,
+ 'Vsmall',
+ 63350,
+ 'Vtilde',
+ 7804,
+ 'W',
+ 87,
+ 'Wacute',
+ 7810,
+ 'Wcircle',
+ 9420,
+ 'Wcircumflex',
+ 372,
+ 'Wdieresis',
+ 7812,
+ 'Wdotaccent',
+ 7814,
+ 'Wdotbelow',
+ 7816,
+ 'Wgrave',
+ 7808,
+ 'Wmonospace',
+ 65335,
+ 'Wsmall',
+ 63351,
+ 'X',
+ 88,
+ 'Xcircle',
+ 9421,
+ 'Xdieresis',
+ 7820,
+ 'Xdotaccent',
+ 7818,
+ 'Xeharmenian',
+ 1341,
+ 'Xi',
+ 926,
+ 'Xmonospace',
+ 65336,
+ 'Xsmall',
+ 63352,
+ 'Y',
+ 89,
+ 'Yacute',
+ 221,
+ 'Yacutesmall',
+ 63485,
+ 'Yatcyrillic',
+ 1122,
+ 'Ycircle',
+ 9422,
+ 'Ycircumflex',
+ 374,
+ 'Ydieresis',
+ 376,
+ 'Ydieresissmall',
+ 63487,
+ 'Ydotaccent',
+ 7822,
+ 'Ydotbelow',
+ 7924,
+ 'Yericyrillic',
+ 1067,
+ 'Yerudieresiscyrillic',
+ 1272,
+ 'Ygrave',
+ 7922,
+ 'Yhook',
+ 435,
+ 'Yhookabove',
+ 7926,
+ 'Yiarmenian',
+ 1349,
+ 'Yicyrillic',
+ 1031,
+ 'Yiwnarmenian',
+ 1362,
+ 'Ymonospace',
+ 65337,
+ 'Ysmall',
+ 63353,
+ 'Ytilde',
+ 7928,
+ 'Yusbigcyrillic',
+ 1130,
+ 'Yusbigiotifiedcyrillic',
+ 1132,
+ 'Yuslittlecyrillic',
+ 1126,
+ 'Yuslittleiotifiedcyrillic',
+ 1128,
+ 'Z',
+ 90,
+ 'Zaarmenian',
+ 1334,
+ 'Zacute',
+ 377,
+ 'Zcaron',
+ 381,
+ 'Zcaronsmall',
+ 63231,
+ 'Zcircle',
+ 9423,
+ 'Zcircumflex',
+ 7824,
+ 'Zdot',
+ 379,
+ 'Zdotaccent',
+ 379,
+ 'Zdotbelow',
+ 7826,
+ 'Zecyrillic',
+ 1047,
+ 'Zedescendercyrillic',
+ 1176,
+ 'Zedieresiscyrillic',
+ 1246,
+ 'Zeta',
+ 918,
+ 'Zhearmenian',
+ 1338,
+ 'Zhebrevecyrillic',
+ 1217,
+ 'Zhecyrillic',
+ 1046,
+ 'Zhedescendercyrillic',
+ 1174,
+ 'Zhedieresiscyrillic',
+ 1244,
+ 'Zlinebelow',
+ 7828,
+ 'Zmonospace',
+ 65338,
+ 'Zsmall',
+ 63354,
+ 'Zstroke',
+ 437,
+ 'a',
+ 97,
+ 'aabengali',
+ 2438,
+ 'aacute',
+ 225,
+ 'aadeva',
+ 2310,
+ 'aagujarati',
+ 2694,
+ 'aagurmukhi',
+ 2566,
+ 'aamatragurmukhi',
+ 2622,
+ 'aarusquare',
+ 13059,
+ 'aavowelsignbengali',
+ 2494,
+ 'aavowelsigndeva',
+ 2366,
+ 'aavowelsigngujarati',
+ 2750,
+ 'abbreviationmarkarmenian',
+ 1375,
+ 'abbreviationsigndeva',
+ 2416,
+ 'abengali',
+ 2437,
+ 'abopomofo',
+ 12570,
+ 'abreve',
+ 259,
+ 'abreveacute',
+ 7855,
+ 'abrevecyrillic',
+ 1233,
+ 'abrevedotbelow',
+ 7863,
+ 'abrevegrave',
+ 7857,
+ 'abrevehookabove',
+ 7859,
+ 'abrevetilde',
+ 7861,
+ 'acaron',
+ 462,
+ 'acircle',
+ 9424,
+ 'acircumflex',
+ 226,
+ 'acircumflexacute',
+ 7845,
+ 'acircumflexdotbelow',
+ 7853,
+ 'acircumflexgrave',
+ 7847,
+ 'acircumflexhookabove',
+ 7849,
+ 'acircumflextilde',
+ 7851,
+ 'acute',
+ 180,
+ 'acutebelowcmb',
+ 791,
+ 'acutecmb',
+ 769,
+ 'acutecomb',
+ 769,
+ 'acutedeva',
+ 2388,
+ 'acutelowmod',
+ 719,
+ 'acutetonecmb',
+ 833,
+ 'acyrillic',
+ 1072,
+ 'adblgrave',
+ 513,
+ 'addakgurmukhi',
+ 2673,
+ 'adeva',
+ 2309,
+ 'adieresis',
+ 228,
+ 'adieresiscyrillic',
+ 1235,
+ 'adieresismacron',
+ 479,
+ 'adotbelow',
+ 7841,
+ 'adotmacron',
+ 481,
+ 'ae',
+ 230,
+ 'aeacute',
+ 509,
+ 'aekorean',
+ 12624,
+ 'aemacron',
+ 483,
+ 'afii00208',
+ 8213,
+ 'afii08941',
+ 8356,
+ 'afii10017',
+ 1040,
+ 'afii10018',
+ 1041,
+ 'afii10019',
+ 1042,
+ 'afii10020',
+ 1043,
+ 'afii10021',
+ 1044,
+ 'afii10022',
+ 1045,
+ 'afii10023',
+ 1025,
+ 'afii10024',
+ 1046,
+ 'afii10025',
+ 1047,
+ 'afii10026',
+ 1048,
+ 'afii10027',
+ 1049,
+ 'afii10028',
+ 1050,
+ 'afii10029',
+ 1051,
+ 'afii10030',
+ 1052,
+ 'afii10031',
+ 1053,
+ 'afii10032',
+ 1054,
+ 'afii10033',
+ 1055,
+ 'afii10034',
+ 1056,
+ 'afii10035',
+ 1057,
+ 'afii10036',
+ 1058,
+ 'afii10037',
+ 1059,
+ 'afii10038',
+ 1060,
+ 'afii10039',
+ 1061,
+ 'afii10040',
+ 1062,
+ 'afii10041',
+ 1063,
+ 'afii10042',
+ 1064,
+ 'afii10043',
+ 1065,
+ 'afii10044',
+ 1066,
+ 'afii10045',
+ 1067,
+ 'afii10046',
+ 1068,
+ 'afii10047',
+ 1069,
+ 'afii10048',
+ 1070,
+ 'afii10049',
+ 1071,
+ 'afii10050',
+ 1168,
+ 'afii10051',
+ 1026,
+ 'afii10052',
+ 1027,
+ 'afii10053',
+ 1028,
+ 'afii10054',
+ 1029,
+ 'afii10055',
+ 1030,
+ 'afii10056',
+ 1031,
+ 'afii10057',
+ 1032,
+ 'afii10058',
+ 1033,
+ 'afii10059',
+ 1034,
+ 'afii10060',
+ 1035,
+ 'afii10061',
+ 1036,
+ 'afii10062',
+ 1038,
+ 'afii10063',
+ 63172,
+ 'afii10064',
+ 63173,
+ 'afii10065',
+ 1072,
+ 'afii10066',
+ 1073,
+ 'afii10067',
+ 1074,
+ 'afii10068',
+ 1075,
+ 'afii10069',
+ 1076,
+ 'afii10070',
+ 1077,
+ 'afii10071',
+ 1105,
+ 'afii10072',
+ 1078,
+ 'afii10073',
+ 1079,
+ 'afii10074',
+ 1080,
+ 'afii10075',
+ 1081,
+ 'afii10076',
+ 1082,
+ 'afii10077',
+ 1083,
+ 'afii10078',
+ 1084,
+ 'afii10079',
+ 1085,
+ 'afii10080',
+ 1086,
+ 'afii10081',
+ 1087,
+ 'afii10082',
+ 1088,
+ 'afii10083',
+ 1089,
+ 'afii10084',
+ 1090,
+ 'afii10085',
+ 1091,
+ 'afii10086',
+ 1092,
+ 'afii10087',
+ 1093,
+ 'afii10088',
+ 1094,
+ 'afii10089',
+ 1095,
+ 'afii10090',
+ 1096,
+ 'afii10091',
+ 1097,
+ 'afii10092',
+ 1098,
+ 'afii10093',
+ 1099,
+ 'afii10094',
+ 1100,
+ 'afii10095',
+ 1101,
+ 'afii10096',
+ 1102,
+ 'afii10097',
+ 1103,
+ 'afii10098',
+ 1169,
+ 'afii10099',
+ 1106,
+ 'afii10100',
+ 1107,
+ 'afii10101',
+ 1108,
+ 'afii10102',
+ 1109,
+ 'afii10103',
+ 1110,
+ 'afii10104',
+ 1111,
+ 'afii10105',
+ 1112,
+ 'afii10106',
+ 1113,
+ 'afii10107',
+ 1114,
+ 'afii10108',
+ 1115,
+ 'afii10109',
+ 1116,
+ 'afii10110',
+ 1118,
+ 'afii10145',
+ 1039,
+ 'afii10146',
+ 1122,
+ 'afii10147',
+ 1138,
+ 'afii10148',
+ 1140,
+ 'afii10192',
+ 63174,
+ 'afii10193',
+ 1119,
+ 'afii10194',
+ 1123,
+ 'afii10195',
+ 1139,
+ 'afii10196',
+ 1141,
+ 'afii10831',
+ 63175,
+ 'afii10832',
+ 63176,
+ 'afii10846',
+ 1241,
+ 'afii299',
+ 8206,
+ 'afii300',
+ 8207,
+ 'afii301',
+ 8205,
+ 'afii57381',
+ 1642,
+ 'afii57388',
+ 1548,
+ 'afii57392',
+ 1632,
+ 'afii57393',
+ 1633,
+ 'afii57394',
+ 1634,
+ 'afii57395',
+ 1635,
+ 'afii57396',
+ 1636,
+ 'afii57397',
+ 1637,
+ 'afii57398',
+ 1638,
+ 'afii57399',
+ 1639,
+ 'afii57400',
+ 1640,
+ 'afii57401',
+ 1641,
+ 'afii57403',
+ 1563,
+ 'afii57407',
+ 1567,
+ 'afii57409',
+ 1569,
+ 'afii57410',
+ 1570,
+ 'afii57411',
+ 1571,
+ 'afii57412',
+ 1572,
+ 'afii57413',
+ 1573,
+ 'afii57414',
+ 1574,
+ 'afii57415',
+ 1575,
+ 'afii57416',
+ 1576,
+ 'afii57417',
+ 1577,
+ 'afii57418',
+ 1578,
+ 'afii57419',
+ 1579,
+ 'afii57420',
+ 1580,
+ 'afii57421',
+ 1581,
+ 'afii57422',
+ 1582,
+ 'afii57423',
+ 1583,
+ 'afii57424',
+ 1584,
+ 'afii57425',
+ 1585,
+ 'afii57426',
+ 1586,
+ 'afii57427',
+ 1587,
+ 'afii57428',
+ 1588,
+ 'afii57429',
+ 1589,
+ 'afii57430',
+ 1590,
+ 'afii57431',
+ 1591,
+ 'afii57432',
+ 1592,
+ 'afii57433',
+ 1593,
+ 'afii57434',
+ 1594,
+ 'afii57440',
+ 1600,
+ 'afii57441',
+ 1601,
+ 'afii57442',
+ 1602,
+ 'afii57443',
+ 1603,
+ 'afii57444',
+ 1604,
+ 'afii57445',
+ 1605,
+ 'afii57446',
+ 1606,
+ 'afii57448',
+ 1608,
+ 'afii57449',
+ 1609,
+ 'afii57450',
+ 1610,
+ 'afii57451',
+ 1611,
+ 'afii57452',
+ 1612,
+ 'afii57453',
+ 1613,
+ 'afii57454',
+ 1614,
+ 'afii57455',
+ 1615,
+ 'afii57456',
+ 1616,
+ 'afii57457',
+ 1617,
+ 'afii57458',
+ 1618,
+ 'afii57470',
+ 1607,
+ 'afii57505',
+ 1700,
+ 'afii57506',
+ 1662,
+ 'afii57507',
+ 1670,
+ 'afii57508',
+ 1688,
+ 'afii57509',
+ 1711,
+ 'afii57511',
+ 1657,
+ 'afii57512',
+ 1672,
+ 'afii57513',
+ 1681,
+ 'afii57514',
+ 1722,
+ 'afii57519',
+ 1746,
+ 'afii57534',
+ 1749,
+ 'afii57636',
+ 8362,
+ 'afii57645',
+ 1470,
+ 'afii57658',
+ 1475,
+ 'afii57664',
+ 1488,
+ 'afii57665',
+ 1489,
+ 'afii57666',
+ 1490,
+ 'afii57667',
+ 1491,
+ 'afii57668',
+ 1492,
+ 'afii57669',
+ 1493,
+ 'afii57670',
+ 1494,
+ 'afii57671',
+ 1495,
+ 'afii57672',
+ 1496,
+ 'afii57673',
+ 1497,
+ 'afii57674',
+ 1498,
+ 'afii57675',
+ 1499,
+ 'afii57676',
+ 1500,
+ 'afii57677',
+ 1501,
+ 'afii57678',
+ 1502,
+ 'afii57679',
+ 1503,
+ 'afii57680',
+ 1504,
+ 'afii57681',
+ 1505,
+ 'afii57682',
+ 1506,
+ 'afii57683',
+ 1507,
+ 'afii57684',
+ 1508,
+ 'afii57685',
+ 1509,
+ 'afii57686',
+ 1510,
+ 'afii57687',
+ 1511,
+ 'afii57688',
+ 1512,
+ 'afii57689',
+ 1513,
+ 'afii57690',
+ 1514,
+ 'afii57694',
+ 64298,
+ 'afii57695',
+ 64299,
+ 'afii57700',
+ 64331,
+ 'afii57705',
+ 64287,
+ 'afii57716',
+ 1520,
+ 'afii57717',
+ 1521,
+ 'afii57718',
+ 1522,
+ 'afii57723',
+ 64309,
+ 'afii57793',
+ 1460,
+ 'afii57794',
+ 1461,
+ 'afii57795',
+ 1462,
+ 'afii57796',
+ 1467,
+ 'afii57797',
+ 1464,
+ 'afii57798',
+ 1463,
+ 'afii57799',
+ 1456,
+ 'afii57800',
+ 1458,
+ 'afii57801',
+ 1457,
+ 'afii57802',
+ 1459,
+ 'afii57803',
+ 1474,
+ 'afii57804',
+ 1473,
+ 'afii57806',
+ 1465,
+ 'afii57807',
+ 1468,
+ 'afii57839',
+ 1469,
+ 'afii57841',
+ 1471,
+ 'afii57842',
+ 1472,
+ 'afii57929',
+ 700,
+ 'afii61248',
+ 8453,
+ 'afii61289',
+ 8467,
+ 'afii61352',
+ 8470,
+ 'afii61573',
+ 8236,
+ 'afii61574',
+ 8237,
+ 'afii61575',
+ 8238,
+ 'afii61664',
+ 8204,
+ 'afii63167',
+ 1645,
+ 'afii64937',
+ 701,
+ 'agrave',
+ 224,
+ 'agujarati',
+ 2693,
+ 'agurmukhi',
+ 2565,
+ 'ahiragana',
+ 12354,
+ 'ahookabove',
+ 7843,
+ 'aibengali',
+ 2448,
+ 'aibopomofo',
+ 12574,
+ 'aideva',
+ 2320,
+ 'aiecyrillic',
+ 1237,
+ 'aigujarati',
+ 2704,
+ 'aigurmukhi',
+ 2576,
+ 'aimatragurmukhi',
+ 2632,
+ 'ainarabic',
+ 1593,
+ 'ainfinalarabic',
+ 65226,
+ 'aininitialarabic',
+ 65227,
+ 'ainmedialarabic',
+ 65228,
+ 'ainvertedbreve',
+ 515,
+ 'aivowelsignbengali',
+ 2504,
+ 'aivowelsigndeva',
+ 2376,
+ 'aivowelsigngujarati',
+ 2760,
+ 'akatakana',
+ 12450,
+ 'akatakanahalfwidth',
+ 65393,
+ 'akorean',
+ 12623,
+ 'alef',
+ 1488,
+ 'alefarabic',
+ 1575,
+ 'alefdageshhebrew',
+ 64304,
+ 'aleffinalarabic',
+ 65166,
+ 'alefhamzaabovearabic',
+ 1571,
+ 'alefhamzaabovefinalarabic',
+ 65156,
+ 'alefhamzabelowarabic',
+ 1573,
+ 'alefhamzabelowfinalarabic',
+ 65160,
+ 'alefhebrew',
+ 1488,
+ 'aleflamedhebrew',
+ 64335,
+ 'alefmaddaabovearabic',
+ 1570,
+ 'alefmaddaabovefinalarabic',
+ 65154,
+ 'alefmaksuraarabic',
+ 1609,
+ 'alefmaksurafinalarabic',
+ 65264,
+ 'alefmaksurainitialarabic',
+ 65267,
+ 'alefmaksuramedialarabic',
+ 65268,
+ 'alefpatahhebrew',
+ 64302,
+ 'alefqamatshebrew',
+ 64303,
+ 'aleph',
+ 8501,
+ 'allequal',
+ 8780,
+ 'alpha',
+ 945,
+ 'alphatonos',
+ 940,
+ 'amacron',
+ 257,
+ 'amonospace',
+ 65345,
+ 'ampersand',
+ 38,
+ 'ampersandmonospace',
+ 65286,
+ 'ampersandsmall',
+ 63270,
+ 'amsquare',
+ 13250,
+ 'anbopomofo',
+ 12578,
+ 'angbopomofo',
+ 12580,
+ 'angbracketleft',
+ 12296,
+ 'angbracketright',
+ 12297,
+ 'angkhankhuthai',
+ 3674,
+ 'angle',
+ 8736,
+ 'anglebracketleft',
+ 12296,
+ 'anglebracketleftvertical',
+ 65087,
+ 'anglebracketright',
+ 12297,
+ 'anglebracketrightvertical',
+ 65088,
+ 'angleleft',
+ 9001,
+ 'angleright',
+ 9002,
+ 'angstrom',
+ 8491,
+ 'anoteleia',
+ 903,
+ 'anudattadeva',
+ 2386,
+ 'anusvarabengali',
+ 2434,
+ 'anusvaradeva',
+ 2306,
+ 'anusvaragujarati',
+ 2690,
+ 'aogonek',
+ 261,
+ 'apaatosquare',
+ 13056,
+ 'aparen',
+ 9372,
+ 'apostrophearmenian',
+ 1370,
+ 'apostrophemod',
+ 700,
+ 'apple',
+ 63743,
+ 'approaches',
+ 8784,
+ 'approxequal',
+ 8776,
+ 'approxequalorimage',
+ 8786,
+ 'approximatelyequal',
+ 8773,
+ 'araeaekorean',
+ 12686,
+ 'araeakorean',
+ 12685,
+ 'arc',
+ 8978,
+ 'arighthalfring',
+ 7834,
+ 'aring',
+ 229,
+ 'aringacute',
+ 507,
+ 'aringbelow',
+ 7681,
+ 'arrowboth',
+ 8596,
+ 'arrowdashdown',
+ 8675,
+ 'arrowdashleft',
+ 8672,
+ 'arrowdashright',
+ 8674,
+ 'arrowdashup',
+ 8673,
+ 'arrowdblboth',
+ 8660,
+ 'arrowdbldown',
+ 8659,
+ 'arrowdblleft',
+ 8656,
+ 'arrowdblright',
+ 8658,
+ 'arrowdblup',
+ 8657,
+ 'arrowdown',
+ 8595,
+ 'arrowdownleft',
+ 8601,
+ 'arrowdownright',
+ 8600,
+ 'arrowdownwhite',
+ 8681,
+ 'arrowheaddownmod',
+ 709,
+ 'arrowheadleftmod',
+ 706,
+ 'arrowheadrightmod',
+ 707,
+ 'arrowheadupmod',
+ 708,
+ 'arrowhorizex',
+ 63719,
+ 'arrowleft',
+ 8592,
+ 'arrowleftdbl',
+ 8656,
+ 'arrowleftdblstroke',
+ 8653,
+ 'arrowleftoverright',
+ 8646,
+ 'arrowleftwhite',
+ 8678,
+ 'arrowright',
+ 8594,
+ 'arrowrightdblstroke',
+ 8655,
+ 'arrowrightheavy',
+ 10142,
+ 'arrowrightoverleft',
+ 8644,
+ 'arrowrightwhite',
+ 8680,
+ 'arrowtableft',
+ 8676,
+ 'arrowtabright',
+ 8677,
+ 'arrowup',
+ 8593,
+ 'arrowupdn',
+ 8597,
+ 'arrowupdnbse',
+ 8616,
+ 'arrowupdownbase',
+ 8616,
+ 'arrowupleft',
+ 8598,
+ 'arrowupleftofdown',
+ 8645,
+ 'arrowupright',
+ 8599,
+ 'arrowupwhite',
+ 8679,
+ 'arrowvertex',
+ 63718,
+ 'asciicircum',
+ 94,
+ 'asciicircummonospace',
+ 65342,
+ 'asciitilde',
+ 126,
+ 'asciitildemonospace',
+ 65374,
+ 'ascript',
+ 593,
+ 'ascriptturned',
+ 594,
+ 'asmallhiragana',
+ 12353,
+ 'asmallkatakana',
+ 12449,
+ 'asmallkatakanahalfwidth',
+ 65383,
+ 'asterisk',
+ 42,
+ 'asteriskaltonearabic',
+ 1645,
+ 'asteriskarabic',
+ 1645,
+ 'asteriskmath',
+ 8727,
+ 'asteriskmonospace',
+ 65290,
+ 'asterisksmall',
+ 65121,
+ 'asterism',
+ 8258,
+ 'asuperior',
+ 63209,
+ 'asymptoticallyequal',
+ 8771,
+ 'at',
+ 64,
+ 'atilde',
+ 227,
+ 'atmonospace',
+ 65312,
+ 'atsmall',
+ 65131,
+ 'aturned',
+ 592,
+ 'aubengali',
+ 2452,
+ 'aubopomofo',
+ 12576,
+ 'audeva',
+ 2324,
+ 'augujarati',
+ 2708,
+ 'augurmukhi',
+ 2580,
+ 'aulengthmarkbengali',
+ 2519,
+ 'aumatragurmukhi',
+ 2636,
+ 'auvowelsignbengali',
+ 2508,
+ 'auvowelsigndeva',
+ 2380,
+ 'auvowelsigngujarati',
+ 2764,
+ 'avagrahadeva',
+ 2365,
+ 'aybarmenian',
+ 1377,
+ 'ayin',
+ 1506,
+ 'ayinaltonehebrew',
+ 64288,
+ 'ayinhebrew',
+ 1506,
+ 'b',
+ 98,
+ 'babengali',
+ 2476,
+ 'backslash',
+ 92,
+ 'backslashmonospace',
+ 65340,
+ 'badeva',
+ 2348,
+ 'bagujarati',
+ 2732,
+ 'bagurmukhi',
+ 2604,
+ 'bahiragana',
+ 12400,
+ 'bahtthai',
+ 3647,
+ 'bakatakana',
+ 12496,
+ 'bar',
+ 124,
+ 'barmonospace',
+ 65372,
+ 'bbopomofo',
+ 12549,
+ 'bcircle',
+ 9425,
+ 'bdotaccent',
+ 7683,
+ 'bdotbelow',
+ 7685,
+ 'beamedsixteenthnotes',
+ 9836,
+ 'because',
+ 8757,
+ 'becyrillic',
+ 1073,
+ 'beharabic',
+ 1576,
+ 'behfinalarabic',
+ 65168,
+ 'behinitialarabic',
+ 65169,
+ 'behiragana',
+ 12409,
+ 'behmedialarabic',
+ 65170,
+ 'behmeeminitialarabic',
+ 64671,
+ 'behmeemisolatedarabic',
+ 64520,
+ 'behnoonfinalarabic',
+ 64621,
+ 'bekatakana',
+ 12505,
+ 'benarmenian',
+ 1378,
+ 'bet',
+ 1489,
+ 'beta',
+ 946,
+ 'betasymbolgreek',
+ 976,
+ 'betdagesh',
+ 64305,
+ 'betdageshhebrew',
+ 64305,
+ 'bethebrew',
+ 1489,
+ 'betrafehebrew',
+ 64332,
+ 'bhabengali',
+ 2477,
+ 'bhadeva',
+ 2349,
+ 'bhagujarati',
+ 2733,
+ 'bhagurmukhi',
+ 2605,
+ 'bhook',
+ 595,
+ 'bihiragana',
+ 12403,
+ 'bikatakana',
+ 12499,
+ 'bilabialclick',
+ 664,
+ 'bindigurmukhi',
+ 2562,
+ 'birusquare',
+ 13105,
+ 'blackcircle',
+ 9679,
+ 'blackdiamond',
+ 9670,
+ 'blackdownpointingtriangle',
+ 9660,
+ 'blackleftpointingpointer',
+ 9668,
+ 'blackleftpointingtriangle',
+ 9664,
+ 'blacklenticularbracketleft',
+ 12304,
+ 'blacklenticularbracketleftvertical',
+ 65083,
+ 'blacklenticularbracketright',
+ 12305,
+ 'blacklenticularbracketrightvertical',
+ 65084,
+ 'blacklowerlefttriangle',
+ 9699,
+ 'blacklowerrighttriangle',
+ 9698,
+ 'blackrectangle',
+ 9644,
+ 'blackrightpointingpointer',
+ 9658,
+ 'blackrightpointingtriangle',
+ 9654,
+ 'blacksmallsquare',
+ 9642,
+ 'blacksmilingface',
+ 9787,
+ 'blacksquare',
+ 9632,
+ 'blackstar',
+ 9733,
+ 'blackupperlefttriangle',
+ 9700,
+ 'blackupperrighttriangle',
+ 9701,
+ 'blackuppointingsmalltriangle',
+ 9652,
+ 'blackuppointingtriangle',
+ 9650,
+ 'blank',
+ 9251,
+ 'blinebelow',
+ 7687,
+ 'block',
+ 9608,
+ 'bmonospace',
+ 65346,
+ 'bobaimaithai',
+ 3610,
+ 'bohiragana',
+ 12412,
+ 'bokatakana',
+ 12508,
+ 'bparen',
+ 9373,
+ 'bqsquare',
+ 13251,
+ 'braceex',
+ 63732,
+ 'braceleft',
+ 123,
+ 'braceleftbt',
+ 63731,
+ 'braceleftmid',
+ 63730,
+ 'braceleftmonospace',
+ 65371,
+ 'braceleftsmall',
+ 65115,
+ 'bracelefttp',
+ 63729,
+ 'braceleftvertical',
+ 65079,
+ 'braceright',
+ 125,
+ 'bracerightbt',
+ 63742,
+ 'bracerightmid',
+ 63741,
+ 'bracerightmonospace',
+ 65373,
+ 'bracerightsmall',
+ 65116,
+ 'bracerighttp',
+ 63740,
+ 'bracerightvertical',
+ 65080,
+ 'bracketleft',
+ 91,
+ 'bracketleftbt',
+ 63728,
+ 'bracketleftex',
+ 63727,
+ 'bracketleftmonospace',
+ 65339,
+ 'bracketlefttp',
+ 63726,
+ 'bracketright',
+ 93,
+ 'bracketrightbt',
+ 63739,
+ 'bracketrightex',
+ 63738,
+ 'bracketrightmonospace',
+ 65341,
+ 'bracketrighttp',
+ 63737,
+ 'breve',
+ 728,
+ 'brevebelowcmb',
+ 814,
+ 'brevecmb',
+ 774,
+ 'breveinvertedbelowcmb',
+ 815,
+ 'breveinvertedcmb',
+ 785,
+ 'breveinverteddoublecmb',
+ 865,
+ 'bridgebelowcmb',
+ 810,
+ 'bridgeinvertedbelowcmb',
+ 826,
+ 'brokenbar',
+ 166,
+ 'bstroke',
+ 384,
+ 'bsuperior',
+ 63210,
+ 'btopbar',
+ 387,
+ 'buhiragana',
+ 12406,
+ 'bukatakana',
+ 12502,
+ 'bullet',
+ 8226,
+ 'bulletinverse',
+ 9688,
+ 'bulletoperator',
+ 8729,
+ 'bullseye',
+ 9678,
+ 'c',
+ 99,
+ 'caarmenian',
+ 1390,
+ 'cabengali',
+ 2458,
+ 'cacute',
+ 263,
+ 'cadeva',
+ 2330,
+ 'cagujarati',
+ 2714,
+ 'cagurmukhi',
+ 2586,
+ 'calsquare',
+ 13192,
+ 'candrabindubengali',
+ 2433,
+ 'candrabinducmb',
+ 784,
+ 'candrabindudeva',
+ 2305,
+ 'candrabindugujarati',
+ 2689,
+ 'capslock',
+ 8682,
+ 'careof',
+ 8453,
+ 'caron',
+ 711,
+ 'caronbelowcmb',
+ 812,
+ 'caroncmb',
+ 780,
+ 'carriagereturn',
+ 8629,
+ 'cbopomofo',
+ 12568,
+ 'ccaron',
+ 269,
+ 'ccedilla',
+ 231,
+ 'ccedillaacute',
+ 7689,
+ 'ccircle',
+ 9426,
+ 'ccircumflex',
+ 265,
+ 'ccurl',
+ 597,
+ 'cdot',
+ 267,
+ 'cdotaccent',
+ 267,
+ 'cdsquare',
+ 13253,
+ 'cedilla',
+ 184,
+ 'cedillacmb',
+ 807,
+ 'cent',
+ 162,
+ 'centigrade',
+ 8451,
+ 'centinferior',
+ 63199,
+ 'centmonospace',
+ 65504,
+ 'centoldstyle',
+ 63394,
+ 'centsuperior',
+ 63200,
+ 'chaarmenian',
+ 1401,
+ 'chabengali',
+ 2459,
+ 'chadeva',
+ 2331,
+ 'chagujarati',
+ 2715,
+ 'chagurmukhi',
+ 2587,
+ 'chbopomofo',
+ 12564,
+ 'cheabkhasiancyrillic',
+ 1213,
+ 'checkmark',
+ 10003,
+ 'checyrillic',
+ 1095,
+ 'chedescenderabkhasiancyrillic',
+ 1215,
+ 'chedescendercyrillic',
+ 1207,
+ 'chedieresiscyrillic',
+ 1269,
+ 'cheharmenian',
+ 1395,
+ 'chekhakassiancyrillic',
+ 1228,
+ 'cheverticalstrokecyrillic',
+ 1209,
+ 'chi',
+ 967,
+ 'chieuchacirclekorean',
+ 12919,
+ 'chieuchaparenkorean',
+ 12823,
+ 'chieuchcirclekorean',
+ 12905,
+ 'chieuchkorean',
+ 12618,
+ 'chieuchparenkorean',
+ 12809,
+ 'chochangthai',
+ 3594,
+ 'chochanthai',
+ 3592,
+ 'chochingthai',
+ 3593,
+ 'chochoethai',
+ 3596,
+ 'chook',
+ 392,
+ 'cieucacirclekorean',
+ 12918,
+ 'cieucaparenkorean',
+ 12822,
+ 'cieuccirclekorean',
+ 12904,
+ 'cieuckorean',
+ 12616,
+ 'cieucparenkorean',
+ 12808,
+ 'cieucuparenkorean',
+ 12828,
+ 'circle',
+ 9675,
+ 'circlecopyrt',
+ 169,
+ 'circlemultiply',
+ 8855,
+ 'circleot',
+ 8857,
+ 'circleplus',
+ 8853,
+ 'circlepostalmark',
+ 12342,
+ 'circlewithlefthalfblack',
+ 9680,
+ 'circlewithrighthalfblack',
+ 9681,
+ 'circumflex',
+ 710,
+ 'circumflexbelowcmb',
+ 813,
+ 'circumflexcmb',
+ 770,
+ 'clear',
+ 8999,
+ 'clickalveolar',
+ 450,
+ 'clickdental',
+ 448,
+ 'clicklateral',
+ 449,
+ 'clickretroflex',
+ 451,
+ 'club',
+ 9827,
+ 'clubsuitblack',
+ 9827,
+ 'clubsuitwhite',
+ 9831,
+ 'cmcubedsquare',
+ 13220,
+ 'cmonospace',
+ 65347,
+ 'cmsquaredsquare',
+ 13216,
+ 'coarmenian',
+ 1409,
+ 'colon',
+ 58,
+ 'colonmonetary',
+ 8353,
+ 'colonmonospace',
+ 65306,
+ 'colonsign',
+ 8353,
+ 'colonsmall',
+ 65109,
+ 'colontriangularhalfmod',
+ 721,
+ 'colontriangularmod',
+ 720,
+ 'comma',
+ 44,
+ 'commaabovecmb',
+ 787,
+ 'commaaboverightcmb',
+ 789,
+ 'commaaccent',
+ 63171,
+ 'commaarabic',
+ 1548,
+ 'commaarmenian',
+ 1373,
+ 'commainferior',
+ 63201,
+ 'commamonospace',
+ 65292,
+ 'commareversedabovecmb',
+ 788,
+ 'commareversedmod',
+ 701,
+ 'commasmall',
+ 65104,
+ 'commasuperior',
+ 63202,
+ 'commaturnedabovecmb',
+ 786,
+ 'commaturnedmod',
+ 699,
+ 'compass',
+ 9788,
+ 'congruent',
+ 8773,
+ 'contourintegral',
+ 8750,
+ 'control',
+ 8963,
+ 'controlACK',
+ 6,
+ 'controlBEL',
+ 7,
+ 'controlBS',
+ 8,
+ 'controlCAN',
+ 24,
+ 'controlCR',
+ 13,
+ 'controlDC1',
+ 17,
+ 'controlDC2',
+ 18,
+ 'controlDC3',
+ 19,
+ 'controlDC4',
+ 20,
+ 'controlDEL',
+ 127,
+ 'controlDLE',
+ 16,
+ 'controlEM',
+ 25,
+ 'controlENQ',
+ 5,
+ 'controlEOT',
+ 4,
+ 'controlESC',
+ 27,
+ 'controlETB',
+ 23,
+ 'controlETX',
+ 3,
+ 'controlFF',
+ 12,
+ 'controlFS',
+ 28,
+ 'controlGS',
+ 29,
+ 'controlHT',
+ 9,
+ 'controlLF',
+ 10,
+ 'controlNAK',
+ 21,
+ 'controlNULL',
+ 0,
+ 'controlRS',
+ 30,
+ 'controlSI',
+ 15,
+ 'controlSO',
+ 14,
+ 'controlSOT',
+ 2,
+ 'controlSTX',
+ 1,
+ 'controlSUB',
+ 26,
+ 'controlSYN',
+ 22,
+ 'controlUS',
+ 31,
+ 'controlVT',
+ 11,
+ 'copyright',
+ 169,
+ 'copyrightsans',
+ 63721,
+ 'copyrightserif',
+ 63193,
+ 'cornerbracketleft',
+ 12300,
+ 'cornerbracketlefthalfwidth',
+ 65378,
+ 'cornerbracketleftvertical',
+ 65089,
+ 'cornerbracketright',
+ 12301,
+ 'cornerbracketrighthalfwidth',
+ 65379,
+ 'cornerbracketrightvertical',
+ 65090,
+ 'corporationsquare',
+ 13183,
+ 'cosquare',
+ 13255,
+ 'coverkgsquare',
+ 13254,
+ 'cparen',
+ 9374,
+ 'cruzeiro',
+ 8354,
+ 'cstretched',
+ 663,
+ 'curlyand',
+ 8911,
+ 'curlyor',
+ 8910,
+ 'currency',
+ 164,
+ 'cyrBreve',
+ 63185,
+ 'cyrFlex',
+ 63186,
+ 'cyrbreve',
+ 63188,
+ 'cyrflex',
+ 63189,
+ 'd',
+ 100,
+ 'daarmenian',
+ 1380,
+ 'dabengali',
+ 2470,
+ 'dadarabic',
+ 1590,
+ 'dadeva',
+ 2342,
+ 'dadfinalarabic',
+ 65214,
+ 'dadinitialarabic',
+ 65215,
+ 'dadmedialarabic',
+ 65216,
+ 'dagesh',
+ 1468,
+ 'dageshhebrew',
+ 1468,
+ 'dagger',
+ 8224,
+ 'daggerdbl',
+ 8225,
+ 'dagujarati',
+ 2726,
+ 'dagurmukhi',
+ 2598,
+ 'dahiragana',
+ 12384,
+ 'dakatakana',
+ 12480,
+ 'dalarabic',
+ 1583,
+ 'dalet',
+ 1491,
+ 'daletdagesh',
+ 64307,
+ 'daletdageshhebrew',
+ 64307,
+ 'dalethebrew',
+ 1491,
+ 'dalfinalarabic',
+ 65194,
+ 'dammaarabic',
+ 1615,
+ 'dammalowarabic',
+ 1615,
+ 'dammatanaltonearabic',
+ 1612,
+ 'dammatanarabic',
+ 1612,
+ 'danda',
+ 2404,
+ 'dargahebrew',
+ 1447,
+ 'dargalefthebrew',
+ 1447,
+ 'dasiapneumatacyrilliccmb',
+ 1157,
+ 'dblGrave',
+ 63187,
+ 'dblanglebracketleft',
+ 12298,
+ 'dblanglebracketleftvertical',
+ 65085,
+ 'dblanglebracketright',
+ 12299,
+ 'dblanglebracketrightvertical',
+ 65086,
+ 'dblarchinvertedbelowcmb',
+ 811,
+ 'dblarrowleft',
+ 8660,
+ 'dblarrowright',
+ 8658,
+ 'dbldanda',
+ 2405,
+ 'dblgrave',
+ 63190,
+ 'dblgravecmb',
+ 783,
+ 'dblintegral',
+ 8748,
+ 'dbllowline',
+ 8215,
+ 'dbllowlinecmb',
+ 819,
+ 'dbloverlinecmb',
+ 831,
+ 'dblprimemod',
+ 698,
+ 'dblverticalbar',
+ 8214,
+ 'dblverticallineabovecmb',
+ 782,
+ 'dbopomofo',
+ 12553,
+ 'dbsquare',
+ 13256,
+ 'dcaron',
+ 271,
+ 'dcedilla',
+ 7697,
+ 'dcircle',
+ 9427,
+ 'dcircumflexbelow',
+ 7699,
+ 'dcroat',
+ 273,
+ 'ddabengali',
+ 2465,
+ 'ddadeva',
+ 2337,
+ 'ddagujarati',
+ 2721,
+ 'ddagurmukhi',
+ 2593,
+ 'ddalarabic',
+ 1672,
+ 'ddalfinalarabic',
+ 64393,
+ 'dddhadeva',
+ 2396,
+ 'ddhabengali',
+ 2466,
+ 'ddhadeva',
+ 2338,
+ 'ddhagujarati',
+ 2722,
+ 'ddhagurmukhi',
+ 2594,
+ 'ddotaccent',
+ 7691,
+ 'ddotbelow',
+ 7693,
+ 'decimalseparatorarabic',
+ 1643,
+ 'decimalseparatorpersian',
+ 1643,
+ 'decyrillic',
+ 1076,
+ 'degree',
+ 176,
+ 'dehihebrew',
+ 1453,
+ 'dehiragana',
+ 12391,
+ 'deicoptic',
+ 1007,
+ 'dekatakana',
+ 12487,
+ 'deleteleft',
+ 9003,
+ 'deleteright',
+ 8998,
+ 'delta',
+ 948,
+ 'deltaturned',
+ 397,
+ 'denominatorminusonenumeratorbengali',
+ 2552,
+ 'dezh',
+ 676,
+ 'dhabengali',
+ 2471,
+ 'dhadeva',
+ 2343,
+ 'dhagujarati',
+ 2727,
+ 'dhagurmukhi',
+ 2599,
+ 'dhook',
+ 599,
+ 'dialytikatonos',
+ 901,
+ 'dialytikatonoscmb',
+ 836,
+ 'diamond',
+ 9830,
+ 'diamondsuitwhite',
+ 9826,
+ 'dieresis',
+ 168,
+ 'dieresisacute',
+ 63191,
+ 'dieresisbelowcmb',
+ 804,
+ 'dieresiscmb',
+ 776,
+ 'dieresisgrave',
+ 63192,
+ 'dieresistonos',
+ 901,
+ 'dihiragana',
+ 12386,
+ 'dikatakana',
+ 12482,
+ 'dittomark',
+ 12291,
+ 'divide',
+ 247,
+ 'divides',
+ 8739,
+ 'divisionslash',
+ 8725,
+ 'djecyrillic',
+ 1106,
+ 'dkshade',
+ 9619,
+ 'dlinebelow',
+ 7695,
+ 'dlsquare',
+ 13207,
+ 'dmacron',
+ 273,
+ 'dmonospace',
+ 65348,
+ 'dnblock',
+ 9604,
+ 'dochadathai',
+ 3598,
+ 'dodekthai',
+ 3604,
+ 'dohiragana',
+ 12393,
+ 'dokatakana',
+ 12489,
+ 'dollar',
+ 36,
+ 'dollarinferior',
+ 63203,
+ 'dollarmonospace',
+ 65284,
+ 'dollaroldstyle',
+ 63268,
+ 'dollarsmall',
+ 65129,
+ 'dollarsuperior',
+ 63204,
+ 'dong',
+ 8363,
+ 'dorusquare',
+ 13094,
+ 'dotaccent',
+ 729,
+ 'dotaccentcmb',
+ 775,
+ 'dotbelowcmb',
+ 803,
+ 'dotbelowcomb',
+ 803,
+ 'dotkatakana',
+ 12539,
+ 'dotlessi',
+ 305,
+ 'dotlessj',
+ 63166,
+ 'dotlessjstrokehook',
+ 644,
+ 'dotmath',
+ 8901,
+ 'dottedcircle',
+ 9676,
+ 'doubleyodpatah',
+ 64287,
+ 'doubleyodpatahhebrew',
+ 64287,
+ 'downtackbelowcmb',
+ 798,
+ 'downtackmod',
+ 725,
+ 'dparen',
+ 9375,
+ 'dsuperior',
+ 63211,
+ 'dtail',
+ 598,
+ 'dtopbar',
+ 396,
+ 'duhiragana',
+ 12389,
+ 'dukatakana',
+ 12485,
+ 'dz',
+ 499,
+ 'dzaltone',
+ 675,
+ 'dzcaron',
+ 454,
+ 'dzcurl',
+ 677,
+ 'dzeabkhasiancyrillic',
+ 1249,
+ 'dzecyrillic',
+ 1109,
+ 'dzhecyrillic',
+ 1119,
+ 'e',
+ 101,
+ 'eacute',
+ 233,
+ 'earth',
+ 9793,
+ 'ebengali',
+ 2447,
+ 'ebopomofo',
+ 12572,
+ 'ebreve',
+ 277,
+ 'ecandradeva',
+ 2317,
+ 'ecandragujarati',
+ 2701,
+ 'ecandravowelsigndeva',
+ 2373,
+ 'ecandravowelsigngujarati',
+ 2757,
+ 'ecaron',
+ 283,
+ 'ecedillabreve',
+ 7709,
+ 'echarmenian',
+ 1381,
+ 'echyiwnarmenian',
+ 1415,
+ 'ecircle',
+ 9428,
+ 'ecircumflex',
+ 234,
+ 'ecircumflexacute',
+ 7871,
+ 'ecircumflexbelow',
+ 7705,
+ 'ecircumflexdotbelow',
+ 7879,
+ 'ecircumflexgrave',
+ 7873,
+ 'ecircumflexhookabove',
+ 7875,
+ 'ecircumflextilde',
+ 7877,
+ 'ecyrillic',
+ 1108,
+ 'edblgrave',
+ 517,
+ 'edeva',
+ 2319,
+ 'edieresis',
+ 235,
+ 'edot',
+ 279,
+ 'edotaccent',
+ 279,
+ 'edotbelow',
+ 7865,
+ 'eegurmukhi',
+ 2575,
+ 'eematragurmukhi',
+ 2631,
+ 'efcyrillic',
+ 1092,
+ 'egrave',
+ 232,
+ 'egujarati',
+ 2703,
+ 'eharmenian',
+ 1383,
+ 'ehbopomofo',
+ 12573,
+ 'ehiragana',
+ 12360,
+ 'ehookabove',
+ 7867,
+ 'eibopomofo',
+ 12575,
+ 'eight',
+ 56,
+ 'eightarabic',
+ 1640,
+ 'eightbengali',
+ 2542,
+ 'eightcircle',
+ 9319,
+ 'eightcircleinversesansserif',
+ 10129,
+ 'eightdeva',
+ 2414,
+ 'eighteencircle',
+ 9329,
+ 'eighteenparen',
+ 9349,
+ 'eighteenperiod',
+ 9369,
+ 'eightgujarati',
+ 2798,
+ 'eightgurmukhi',
+ 2670,
+ 'eighthackarabic',
+ 1640,
+ 'eighthangzhou',
+ 12328,
+ 'eighthnotebeamed',
+ 9835,
+ 'eightideographicparen',
+ 12839,
+ 'eightinferior',
+ 8328,
+ 'eightmonospace',
+ 65304,
+ 'eightoldstyle',
+ 63288,
+ 'eightparen',
+ 9339,
+ 'eightperiod',
+ 9359,
+ 'eightpersian',
+ 1784,
+ 'eightroman',
+ 8567,
+ 'eightsuperior',
+ 8312,
+ 'eightthai',
+ 3672,
+ 'einvertedbreve',
+ 519,
+ 'eiotifiedcyrillic',
+ 1125,
+ 'ekatakana',
+ 12456,
+ 'ekatakanahalfwidth',
+ 65396,
+ 'ekonkargurmukhi',
+ 2676,
+ 'ekorean',
+ 12628,
+ 'elcyrillic',
+ 1083,
+ 'element',
+ 8712,
+ 'elevencircle',
+ 9322,
+ 'elevenparen',
+ 9342,
+ 'elevenperiod',
+ 9362,
+ 'elevenroman',
+ 8570,
+ 'ellipsis',
+ 8230,
+ 'ellipsisvertical',
+ 8942,
+ 'emacron',
+ 275,
+ 'emacronacute',
+ 7703,
+ 'emacrongrave',
+ 7701,
+ 'emcyrillic',
+ 1084,
+ 'emdash',
+ 8212,
+ 'emdashvertical',
+ 65073,
+ 'emonospace',
+ 65349,
+ 'emphasismarkarmenian',
+ 1371,
+ 'emptyset',
+ 8709,
+ 'enbopomofo',
+ 12579,
+ 'encyrillic',
+ 1085,
+ 'endash',
+ 8211,
+ 'endashvertical',
+ 65074,
+ 'endescendercyrillic',
+ 1187,
+ 'eng',
+ 331,
+ 'engbopomofo',
+ 12581,
+ 'enghecyrillic',
+ 1189,
+ 'enhookcyrillic',
+ 1224,
+ 'enspace',
+ 8194,
+ 'eogonek',
+ 281,
+ 'eokorean',
+ 12627,
+ 'eopen',
+ 603,
+ 'eopenclosed',
+ 666,
+ 'eopenreversed',
+ 604,
+ 'eopenreversedclosed',
+ 606,
+ 'eopenreversedhook',
+ 605,
+ 'eparen',
+ 9376,
+ 'epsilon',
+ 949,
+ 'epsilontonos',
+ 941,
+ 'equal',
+ 61,
+ 'equalmonospace',
+ 65309,
+ 'equalsmall',
+ 65126,
+ 'equalsuperior',
+ 8316,
+ 'equivalence',
+ 8801,
+ 'erbopomofo',
+ 12582,
+ 'ercyrillic',
+ 1088,
+ 'ereversed',
+ 600,
+ 'ereversedcyrillic',
+ 1101,
+ 'escyrillic',
+ 1089,
+ 'esdescendercyrillic',
+ 1195,
+ 'esh',
+ 643,
+ 'eshcurl',
+ 646,
+ 'eshortdeva',
+ 2318,
+ 'eshortvowelsigndeva',
+ 2374,
+ 'eshreversedloop',
+ 426,
+ 'eshsquatreversed',
+ 645,
+ 'esmallhiragana',
+ 12359,
+ 'esmallkatakana',
+ 12455,
+ 'esmallkatakanahalfwidth',
+ 65386,
+ 'estimated',
+ 8494,
+ 'esuperior',
+ 63212,
+ 'eta',
+ 951,
+ 'etarmenian',
+ 1384,
+ 'etatonos',
+ 942,
+ 'eth',
+ 240,
+ 'etilde',
+ 7869,
+ 'etildebelow',
+ 7707,
+ 'etnahtafoukhhebrew',
+ 1425,
+ 'etnahtafoukhlefthebrew',
+ 1425,
+ 'etnahtahebrew',
+ 1425,
+ 'etnahtalefthebrew',
+ 1425,
+ 'eturned',
+ 477,
+ 'eukorean',
+ 12641,
+ 'euro',
+ 8364,
+ 'evowelsignbengali',
+ 2503,
+ 'evowelsigndeva',
+ 2375,
+ 'evowelsigngujarati',
+ 2759,
+ 'exclam',
+ 33,
+ 'exclamarmenian',
+ 1372,
+ 'exclamdbl',
+ 8252,
+ 'exclamdown',
+ 161,
+ 'exclamdownsmall',
+ 63393,
+ 'exclammonospace',
+ 65281,
+ 'exclamsmall',
+ 63265,
+ 'existential',
+ 8707,
+ 'ezh',
+ 658,
+ 'ezhcaron',
+ 495,
+ 'ezhcurl',
+ 659,
+ 'ezhreversed',
+ 441,
+ 'ezhtail',
+ 442,
+ 'f',
+ 102,
+ 'fadeva',
+ 2398,
+ 'fagurmukhi',
+ 2654,
+ 'fahrenheit',
+ 8457,
+ 'fathaarabic',
+ 1614,
+ 'fathalowarabic',
+ 1614,
+ 'fathatanarabic',
+ 1611,
+ 'fbopomofo',
+ 12552,
+ 'fcircle',
+ 9429,
+ 'fdotaccent',
+ 7711,
+ 'feharabic',
+ 1601,
+ 'feharmenian',
+ 1414,
+ 'fehfinalarabic',
+ 65234,
+ 'fehinitialarabic',
+ 65235,
+ 'fehmedialarabic',
+ 65236,
+ 'feicoptic',
+ 997,
+ 'female',
+ 9792,
+ 'ff',
+ 64256,
+ 'f_f',
+ 64256,
+ 'ffi',
+ 64259,
+ 'ffl',
+ 64260,
+ 'fi',
+ 64257,
+ 'fifteencircle',
+ 9326,
+ 'fifteenparen',
+ 9346,
+ 'fifteenperiod',
+ 9366,
+ 'figuredash',
+ 8210,
+ 'filledbox',
+ 9632,
+ 'filledrect',
+ 9644,
+ 'finalkaf',
+ 1498,
+ 'finalkafdagesh',
+ 64314,
+ 'finalkafdageshhebrew',
+ 64314,
+ 'finalkafhebrew',
+ 1498,
+ 'finalmem',
+ 1501,
+ 'finalmemhebrew',
+ 1501,
+ 'finalnun',
+ 1503,
+ 'finalnunhebrew',
+ 1503,
+ 'finalpe',
+ 1507,
+ 'finalpehebrew',
+ 1507,
+ 'finaltsadi',
+ 1509,
+ 'finaltsadihebrew',
+ 1509,
+ 'firsttonechinese',
+ 713,
+ 'fisheye',
+ 9673,
+ 'fitacyrillic',
+ 1139,
+ 'five',
+ 53,
+ 'fivearabic',
+ 1637,
+ 'fivebengali',
+ 2539,
+ 'fivecircle',
+ 9316,
+ 'fivecircleinversesansserif',
+ 10126,
+ 'fivedeva',
+ 2411,
+ 'fiveeighths',
+ 8541,
+ 'fivegujarati',
+ 2795,
+ 'fivegurmukhi',
+ 2667,
+ 'fivehackarabic',
+ 1637,
+ 'fivehangzhou',
+ 12325,
+ 'fiveideographicparen',
+ 12836,
+ 'fiveinferior',
+ 8325,
+ 'fivemonospace',
+ 65301,
+ 'fiveoldstyle',
+ 63285,
+ 'fiveparen',
+ 9336,
+ 'fiveperiod',
+ 9356,
+ 'fivepersian',
+ 1781,
+ 'fiveroman',
+ 8564,
+ 'fivesuperior',
+ 8309,
+ 'fivethai',
+ 3669,
+ 'fl',
+ 64258,
+ 'florin',
+ 402,
+ 'fmonospace',
+ 65350,
+ 'fmsquare',
+ 13209,
+ 'fofanthai',
+ 3615,
+ 'fofathai',
+ 3613,
+ 'fongmanthai',
+ 3663,
+ 'forall',
+ 8704,
+ 'four',
+ 52,
+ 'fourarabic',
+ 1636,
+ 'fourbengali',
+ 2538,
+ 'fourcircle',
+ 9315,
+ 'fourcircleinversesansserif',
+ 10125,
+ 'fourdeva',
+ 2410,
+ 'fourgujarati',
+ 2794,
+ 'fourgurmukhi',
+ 2666,
+ 'fourhackarabic',
+ 1636,
+ 'fourhangzhou',
+ 12324,
+ 'fourideographicparen',
+ 12835,
+ 'fourinferior',
+ 8324,
+ 'fourmonospace',
+ 65300,
+ 'fournumeratorbengali',
+ 2551,
+ 'fouroldstyle',
+ 63284,
+ 'fourparen',
+ 9335,
+ 'fourperiod',
+ 9355,
+ 'fourpersian',
+ 1780,
+ 'fourroman',
+ 8563,
+ 'foursuperior',
+ 8308,
+ 'fourteencircle',
+ 9325,
+ 'fourteenparen',
+ 9345,
+ 'fourteenperiod',
+ 9365,
+ 'fourthai',
+ 3668,
+ 'fourthtonechinese',
+ 715,
+ 'fparen',
+ 9377,
+ 'fraction',
+ 8260,
+ 'franc',
+ 8355,
+ 'g',
+ 103,
+ 'gabengali',
+ 2455,
+ 'gacute',
+ 501,
+ 'gadeva',
+ 2327,
+ 'gafarabic',
+ 1711,
+ 'gaffinalarabic',
+ 64403,
+ 'gafinitialarabic',
+ 64404,
+ 'gafmedialarabic',
+ 64405,
+ 'gagujarati',
+ 2711,
+ 'gagurmukhi',
+ 2583,
+ 'gahiragana',
+ 12364,
+ 'gakatakana',
+ 12460,
+ 'gamma',
+ 947,
+ 'gammalatinsmall',
+ 611,
+ 'gammasuperior',
+ 736,
+ 'gangiacoptic',
+ 1003,
+ 'gbopomofo',
+ 12557,
+ 'gbreve',
+ 287,
+ 'gcaron',
+ 487,
+ 'gcedilla',
+ 291,
+ 'gcircle',
+ 9430,
+ 'gcircumflex',
+ 285,
+ 'gcommaaccent',
+ 291,
+ 'gdot',
+ 289,
+ 'gdotaccent',
+ 289,
+ 'gecyrillic',
+ 1075,
+ 'gehiragana',
+ 12370,
+ 'gekatakana',
+ 12466,
+ 'geometricallyequal',
+ 8785,
+ 'gereshaccenthebrew',
+ 1436,
+ 'gereshhebrew',
+ 1523,
+ 'gereshmuqdamhebrew',
+ 1437,
+ 'germandbls',
+ 223,
+ 'gershayimaccenthebrew',
+ 1438,
+ 'gershayimhebrew',
+ 1524,
+ 'getamark',
+ 12307,
+ 'ghabengali',
+ 2456,
+ 'ghadarmenian',
+ 1394,
+ 'ghadeva',
+ 2328,
+ 'ghagujarati',
+ 2712,
+ 'ghagurmukhi',
+ 2584,
+ 'ghainarabic',
+ 1594,
+ 'ghainfinalarabic',
+ 65230,
+ 'ghaininitialarabic',
+ 65231,
+ 'ghainmedialarabic',
+ 65232,
+ 'ghemiddlehookcyrillic',
+ 1173,
+ 'ghestrokecyrillic',
+ 1171,
+ 'gheupturncyrillic',
+ 1169,
+ 'ghhadeva',
+ 2394,
+ 'ghhagurmukhi',
+ 2650,
+ 'ghook',
+ 608,
+ 'ghzsquare',
+ 13203,
+ 'gihiragana',
+ 12366,
+ 'gikatakana',
+ 12462,
+ 'gimarmenian',
+ 1379,
+ 'gimel',
+ 1490,
+ 'gimeldagesh',
+ 64306,
+ 'gimeldageshhebrew',
+ 64306,
+ 'gimelhebrew',
+ 1490,
+ 'gjecyrillic',
+ 1107,
+ 'glottalinvertedstroke',
+ 446,
+ 'glottalstop',
+ 660,
+ 'glottalstopinverted',
+ 662,
+ 'glottalstopmod',
+ 704,
+ 'glottalstopreversed',
+ 661,
+ 'glottalstopreversedmod',
+ 705,
+ 'glottalstopreversedsuperior',
+ 740,
+ 'glottalstopstroke',
+ 673,
+ 'glottalstopstrokereversed',
+ 674,
+ 'gmacron',
+ 7713,
+ 'gmonospace',
+ 65351,
+ 'gohiragana',
+ 12372,
+ 'gokatakana',
+ 12468,
+ 'gparen',
+ 9378,
+ 'gpasquare',
+ 13228,
+ 'gradient',
+ 8711,
+ 'grave',
+ 96,
+ 'gravebelowcmb',
+ 790,
+ 'gravecmb',
+ 768,
+ 'gravecomb',
+ 768,
+ 'gravedeva',
+ 2387,
+ 'gravelowmod',
+ 718,
+ 'gravemonospace',
+ 65344,
+ 'gravetonecmb',
+ 832,
+ 'greater',
+ 62,
+ 'greaterequal',
+ 8805,
+ 'greaterequalorless',
+ 8923,
+ 'greatermonospace',
+ 65310,
+ 'greaterorequivalent',
+ 8819,
+ 'greaterorless',
+ 8823,
+ 'greateroverequal',
+ 8807,
+ 'greatersmall',
+ 65125,
+ 'gscript',
+ 609,
+ 'gstroke',
+ 485,
+ 'guhiragana',
+ 12368,
+ 'guillemotleft',
+ 171,
+ 'guillemotright',
+ 187,
+ 'guilsinglleft',
+ 8249,
+ 'guilsinglright',
+ 8250,
+ 'gukatakana',
+ 12464,
+ 'guramusquare',
+ 13080,
+ 'gysquare',
+ 13257,
+ 'h',
+ 104,
+ 'haabkhasiancyrillic',
+ 1193,
+ 'haaltonearabic',
+ 1729,
+ 'habengali',
+ 2489,
+ 'hadescendercyrillic',
+ 1203,
+ 'hadeva',
+ 2361,
+ 'hagujarati',
+ 2745,
+ 'hagurmukhi',
+ 2617,
+ 'haharabic',
+ 1581,
+ 'hahfinalarabic',
+ 65186,
+ 'hahinitialarabic',
+ 65187,
+ 'hahiragana',
+ 12399,
+ 'hahmedialarabic',
+ 65188,
+ 'haitusquare',
+ 13098,
+ 'hakatakana',
+ 12495,
+ 'hakatakanahalfwidth',
+ 65418,
+ 'halantgurmukhi',
+ 2637,
+ 'hamzaarabic',
+ 1569,
+ 'hamzalowarabic',
+ 1569,
+ 'hangulfiller',
+ 12644,
+ 'hardsigncyrillic',
+ 1098,
+ 'harpoonleftbarbup',
+ 8636,
+ 'harpoonrightbarbup',
+ 8640,
+ 'hasquare',
+ 13258,
+ 'hatafpatah',
+ 1458,
+ 'hatafpatah16',
+ 1458,
+ 'hatafpatah23',
+ 1458,
+ 'hatafpatah2f',
+ 1458,
+ 'hatafpatahhebrew',
+ 1458,
+ 'hatafpatahnarrowhebrew',
+ 1458,
+ 'hatafpatahquarterhebrew',
+ 1458,
+ 'hatafpatahwidehebrew',
+ 1458,
+ 'hatafqamats',
+ 1459,
+ 'hatafqamats1b',
+ 1459,
+ 'hatafqamats28',
+ 1459,
+ 'hatafqamats34',
+ 1459,
+ 'hatafqamatshebrew',
+ 1459,
+ 'hatafqamatsnarrowhebrew',
+ 1459,
+ 'hatafqamatsquarterhebrew',
+ 1459,
+ 'hatafqamatswidehebrew',
+ 1459,
+ 'hatafsegol',
+ 1457,
+ 'hatafsegol17',
+ 1457,
+ 'hatafsegol24',
+ 1457,
+ 'hatafsegol30',
+ 1457,
+ 'hatafsegolhebrew',
+ 1457,
+ 'hatafsegolnarrowhebrew',
+ 1457,
+ 'hatafsegolquarterhebrew',
+ 1457,
+ 'hatafsegolwidehebrew',
+ 1457,
+ 'hbar',
+ 295,
+ 'hbopomofo',
+ 12559,
+ 'hbrevebelow',
+ 7723,
+ 'hcedilla',
+ 7721,
+ 'hcircle',
+ 9431,
+ 'hcircumflex',
+ 293,
+ 'hdieresis',
+ 7719,
+ 'hdotaccent',
+ 7715,
+ 'hdotbelow',
+ 7717,
+ 'he',
+ 1492,
+ 'heart',
+ 9829,
+ 'heartsuitblack',
+ 9829,
+ 'heartsuitwhite',
+ 9825,
+ 'hedagesh',
+ 64308,
+ 'hedageshhebrew',
+ 64308,
+ 'hehaltonearabic',
+ 1729,
+ 'heharabic',
+ 1607,
+ 'hehebrew',
+ 1492,
+ 'hehfinalaltonearabic',
+ 64423,
+ 'hehfinalalttwoarabic',
+ 65258,
+ 'hehfinalarabic',
+ 65258,
+ 'hehhamzaabovefinalarabic',
+ 64421,
+ 'hehhamzaaboveisolatedarabic',
+ 64420,
+ 'hehinitialaltonearabic',
+ 64424,
+ 'hehinitialarabic',
+ 65259,
+ 'hehiragana',
+ 12408,
+ 'hehmedialaltonearabic',
+ 64425,
+ 'hehmedialarabic',
+ 65260,
+ 'heiseierasquare',
+ 13179,
+ 'hekatakana',
+ 12504,
+ 'hekatakanahalfwidth',
+ 65421,
+ 'hekutaarusquare',
+ 13110,
+ 'henghook',
+ 615,
+ 'herutusquare',
+ 13113,
+ 'het',
+ 1495,
+ 'hethebrew',
+ 1495,
+ 'hhook',
+ 614,
+ 'hhooksuperior',
+ 689,
+ 'hieuhacirclekorean',
+ 12923,
+ 'hieuhaparenkorean',
+ 12827,
+ 'hieuhcirclekorean',
+ 12909,
+ 'hieuhkorean',
+ 12622,
+ 'hieuhparenkorean',
+ 12813,
+ 'hihiragana',
+ 12402,
+ 'hikatakana',
+ 12498,
+ 'hikatakanahalfwidth',
+ 65419,
+ 'hiriq',
+ 1460,
+ 'hiriq14',
+ 1460,
+ 'hiriq21',
+ 1460,
+ 'hiriq2d',
+ 1460,
+ 'hiriqhebrew',
+ 1460,
+ 'hiriqnarrowhebrew',
+ 1460,
+ 'hiriqquarterhebrew',
+ 1460,
+ 'hiriqwidehebrew',
+ 1460,
+ 'hlinebelow',
+ 7830,
+ 'hmonospace',
+ 65352,
+ 'hoarmenian',
+ 1392,
+ 'hohipthai',
+ 3627,
+ 'hohiragana',
+ 12411,
+ 'hokatakana',
+ 12507,
+ 'hokatakanahalfwidth',
+ 65422,
+ 'holam',
+ 1465,
+ 'holam19',
+ 1465,
+ 'holam26',
+ 1465,
+ 'holam32',
+ 1465,
+ 'holamhebrew',
+ 1465,
+ 'holamnarrowhebrew',
+ 1465,
+ 'holamquarterhebrew',
+ 1465,
+ 'holamwidehebrew',
+ 1465,
+ 'honokhukthai',
+ 3630,
+ 'hookabovecomb',
+ 777,
+ 'hookcmb',
+ 777,
+ 'hookpalatalizedbelowcmb',
+ 801,
+ 'hookretroflexbelowcmb',
+ 802,
+ 'hoonsquare',
+ 13122,
+ 'horicoptic',
+ 1001,
+ 'horizontalbar',
+ 8213,
+ 'horncmb',
+ 795,
+ 'hotsprings',
+ 9832,
+ 'house',
+ 8962,
+ 'hparen',
+ 9379,
+ 'hsuperior',
+ 688,
+ 'hturned',
+ 613,
+ 'huhiragana',
+ 12405,
+ 'huiitosquare',
+ 13107,
+ 'hukatakana',
+ 12501,
+ 'hukatakanahalfwidth',
+ 65420,
+ 'hungarumlaut',
+ 733,
+ 'hungarumlautcmb',
+ 779,
+ 'hv',
+ 405,
+ 'hyphen',
+ 45,
+ 'hypheninferior',
+ 63205,
+ 'hyphenmonospace',
+ 65293,
+ 'hyphensmall',
+ 65123,
+ 'hyphensuperior',
+ 63206,
+ 'hyphentwo',
+ 8208,
+ 'i',
+ 105,
+ 'iacute',
+ 237,
+ 'iacyrillic',
+ 1103,
+ 'ibengali',
+ 2439,
+ 'ibopomofo',
+ 12583,
+ 'ibreve',
+ 301,
+ 'icaron',
+ 464,
+ 'icircle',
+ 9432,
+ 'icircumflex',
+ 238,
+ 'icyrillic',
+ 1110,
+ 'idblgrave',
+ 521,
+ 'ideographearthcircle',
+ 12943,
+ 'ideographfirecircle',
+ 12939,
+ 'ideographicallianceparen',
+ 12863,
+ 'ideographiccallparen',
+ 12858,
+ 'ideographiccentrecircle',
+ 12965,
+ 'ideographicclose',
+ 12294,
+ 'ideographiccomma',
+ 12289,
+ 'ideographiccommaleft',
+ 65380,
+ 'ideographiccongratulationparen',
+ 12855,
+ 'ideographiccorrectcircle',
+ 12963,
+ 'ideographicearthparen',
+ 12847,
+ 'ideographicenterpriseparen',
+ 12861,
+ 'ideographicexcellentcircle',
+ 12957,
+ 'ideographicfestivalparen',
+ 12864,
+ 'ideographicfinancialcircle',
+ 12950,
+ 'ideographicfinancialparen',
+ 12854,
+ 'ideographicfireparen',
+ 12843,
+ 'ideographichaveparen',
+ 12850,
+ 'ideographichighcircle',
+ 12964,
+ 'ideographiciterationmark',
+ 12293,
+ 'ideographiclaborcircle',
+ 12952,
+ 'ideographiclaborparen',
+ 12856,
+ 'ideographicleftcircle',
+ 12967,
+ 'ideographiclowcircle',
+ 12966,
+ 'ideographicmedicinecircle',
+ 12969,
+ 'ideographicmetalparen',
+ 12846,
+ 'ideographicmoonparen',
+ 12842,
+ 'ideographicnameparen',
+ 12852,
+ 'ideographicperiod',
+ 12290,
+ 'ideographicprintcircle',
+ 12958,
+ 'ideographicreachparen',
+ 12867,
+ 'ideographicrepresentparen',
+ 12857,
+ 'ideographicresourceparen',
+ 12862,
+ 'ideographicrightcircle',
+ 12968,
+ 'ideographicsecretcircle',
+ 12953,
+ 'ideographicselfparen',
+ 12866,
+ 'ideographicsocietyparen',
+ 12851,
+ 'ideographicspace',
+ 12288,
+ 'ideographicspecialparen',
+ 12853,
+ 'ideographicstockparen',
+ 12849,
+ 'ideographicstudyparen',
+ 12859,
+ 'ideographicsunparen',
+ 12848,
+ 'ideographicsuperviseparen',
+ 12860,
+ 'ideographicwaterparen',
+ 12844,
+ 'ideographicwoodparen',
+ 12845,
+ 'ideographiczero',
+ 12295,
+ 'ideographmetalcircle',
+ 12942,
+ 'ideographmooncircle',
+ 12938,
+ 'ideographnamecircle',
+ 12948,
+ 'ideographsuncircle',
+ 12944,
+ 'ideographwatercircle',
+ 12940,
+ 'ideographwoodcircle',
+ 12941,
+ 'ideva',
+ 2311,
+ 'idieresis',
+ 239,
+ 'idieresisacute',
+ 7727,
+ 'idieresiscyrillic',
+ 1253,
+ 'idotbelow',
+ 7883,
+ 'iebrevecyrillic',
+ 1239,
+ 'iecyrillic',
+ 1077,
+ 'ieungacirclekorean',
+ 12917,
+ 'ieungaparenkorean',
+ 12821,
+ 'ieungcirclekorean',
+ 12903,
+ 'ieungkorean',
+ 12615,
+ 'ieungparenkorean',
+ 12807,
+ 'igrave',
+ 236,
+ 'igujarati',
+ 2695,
+ 'igurmukhi',
+ 2567,
+ 'ihiragana',
+ 12356,
+ 'ihookabove',
+ 7881,
+ 'iibengali',
+ 2440,
+ 'iicyrillic',
+ 1080,
+ 'iideva',
+ 2312,
+ 'iigujarati',
+ 2696,
+ 'iigurmukhi',
+ 2568,
+ 'iimatragurmukhi',
+ 2624,
+ 'iinvertedbreve',
+ 523,
+ 'iishortcyrillic',
+ 1081,
+ 'iivowelsignbengali',
+ 2496,
+ 'iivowelsigndeva',
+ 2368,
+ 'iivowelsigngujarati',
+ 2752,
+ 'ij',
+ 307,
+ 'ikatakana',
+ 12452,
+ 'ikatakanahalfwidth',
+ 65394,
+ 'ikorean',
+ 12643,
+ 'ilde',
+ 732,
+ 'iluyhebrew',
+ 1452,
+ 'imacron',
+ 299,
+ 'imacroncyrillic',
+ 1251,
+ 'imageorapproximatelyequal',
+ 8787,
+ 'imatragurmukhi',
+ 2623,
+ 'imonospace',
+ 65353,
+ 'increment',
+ 8710,
+ 'infinity',
+ 8734,
+ 'iniarmenian',
+ 1387,
+ 'integral',
+ 8747,
+ 'integralbottom',
+ 8993,
+ 'integralbt',
+ 8993,
+ 'integralex',
+ 63733,
+ 'integraltop',
+ 8992,
+ 'integraltp',
+ 8992,
+ 'intersection',
+ 8745,
+ 'intisquare',
+ 13061,
+ 'invbullet',
+ 9688,
+ 'invcircle',
+ 9689,
+ 'invsmileface',
+ 9787,
+ 'iocyrillic',
+ 1105,
+ 'iogonek',
+ 303,
+ 'iota',
+ 953,
+ 'iotadieresis',
+ 970,
+ 'iotadieresistonos',
+ 912,
+ 'iotalatin',
+ 617,
+ 'iotatonos',
+ 943,
+ 'iparen',
+ 9380,
+ 'irigurmukhi',
+ 2674,
+ 'ismallhiragana',
+ 12355,
+ 'ismallkatakana',
+ 12451,
+ 'ismallkatakanahalfwidth',
+ 65384,
+ 'issharbengali',
+ 2554,
+ 'istroke',
+ 616,
+ 'isuperior',
+ 63213,
+ 'iterationhiragana',
+ 12445,
+ 'iterationkatakana',
+ 12541,
+ 'itilde',
+ 297,
+ 'itildebelow',
+ 7725,
+ 'iubopomofo',
+ 12585,
+ 'iucyrillic',
+ 1102,
+ 'ivowelsignbengali',
+ 2495,
+ 'ivowelsigndeva',
+ 2367,
+ 'ivowelsigngujarati',
+ 2751,
+ 'izhitsacyrillic',
+ 1141,
+ 'izhitsadblgravecyrillic',
+ 1143,
+ 'j',
+ 106,
+ 'jaarmenian',
+ 1393,
+ 'jabengali',
+ 2460,
+ 'jadeva',
+ 2332,
+ 'jagujarati',
+ 2716,
+ 'jagurmukhi',
+ 2588,
+ 'jbopomofo',
+ 12560,
+ 'jcaron',
+ 496,
+ 'jcircle',
+ 9433,
+ 'jcircumflex',
+ 309,
+ 'jcrossedtail',
+ 669,
+ 'jdotlessstroke',
+ 607,
+ 'jecyrillic',
+ 1112,
+ 'jeemarabic',
+ 1580,
+ 'jeemfinalarabic',
+ 65182,
+ 'jeeminitialarabic',
+ 65183,
+ 'jeemmedialarabic',
+ 65184,
+ 'jeharabic',
+ 1688,
+ 'jehfinalarabic',
+ 64395,
+ 'jhabengali',
+ 2461,
+ 'jhadeva',
+ 2333,
+ 'jhagujarati',
+ 2717,
+ 'jhagurmukhi',
+ 2589,
+ 'jheharmenian',
+ 1403,
+ 'jis',
+ 12292,
+ 'jmonospace',
+ 65354,
+ 'jparen',
+ 9381,
+ 'jsuperior',
+ 690,
+ 'k',
+ 107,
+ 'kabashkircyrillic',
+ 1185,
+ 'kabengali',
+ 2453,
+ 'kacute',
+ 7729,
+ 'kacyrillic',
+ 1082,
+ 'kadescendercyrillic',
+ 1179,
+ 'kadeva',
+ 2325,
+ 'kaf',
+ 1499,
+ 'kafarabic',
+ 1603,
+ 'kafdagesh',
+ 64315,
+ 'kafdageshhebrew',
+ 64315,
+ 'kaffinalarabic',
+ 65242,
+ 'kafhebrew',
+ 1499,
+ 'kafinitialarabic',
+ 65243,
+ 'kafmedialarabic',
+ 65244,
+ 'kafrafehebrew',
+ 64333,
+ 'kagujarati',
+ 2709,
+ 'kagurmukhi',
+ 2581,
+ 'kahiragana',
+ 12363,
+ 'kahookcyrillic',
+ 1220,
+ 'kakatakana',
+ 12459,
+ 'kakatakanahalfwidth',
+ 65398,
+ 'kappa',
+ 954,
+ 'kappasymbolgreek',
+ 1008,
+ 'kapyeounmieumkorean',
+ 12657,
+ 'kapyeounphieuphkorean',
+ 12676,
+ 'kapyeounpieupkorean',
+ 12664,
+ 'kapyeounssangpieupkorean',
+ 12665,
+ 'karoriisquare',
+ 13069,
+ 'kashidaautoarabic',
+ 1600,
+ 'kashidaautonosidebearingarabic',
+ 1600,
+ 'kasmallkatakana',
+ 12533,
+ 'kasquare',
+ 13188,
+ 'kasraarabic',
+ 1616,
+ 'kasratanarabic',
+ 1613,
+ 'kastrokecyrillic',
+ 1183,
+ 'katahiraprolongmarkhalfwidth',
+ 65392,
+ 'kaverticalstrokecyrillic',
+ 1181,
+ 'kbopomofo',
+ 12558,
+ 'kcalsquare',
+ 13193,
+ 'kcaron',
+ 489,
+ 'kcedilla',
+ 311,
+ 'kcircle',
+ 9434,
+ 'kcommaaccent',
+ 311,
+ 'kdotbelow',
+ 7731,
+ 'keharmenian',
+ 1412,
+ 'kehiragana',
+ 12369,
+ 'kekatakana',
+ 12465,
+ 'kekatakanahalfwidth',
+ 65401,
+ 'kenarmenian',
+ 1391,
+ 'kesmallkatakana',
+ 12534,
+ 'kgreenlandic',
+ 312,
+ 'khabengali',
+ 2454,
+ 'khacyrillic',
+ 1093,
+ 'khadeva',
+ 2326,
+ 'khagujarati',
+ 2710,
+ 'khagurmukhi',
+ 2582,
+ 'khaharabic',
+ 1582,
+ 'khahfinalarabic',
+ 65190,
+ 'khahinitialarabic',
+ 65191,
+ 'khahmedialarabic',
+ 65192,
+ 'kheicoptic',
+ 999,
+ 'khhadeva',
+ 2393,
+ 'khhagurmukhi',
+ 2649,
+ 'khieukhacirclekorean',
+ 12920,
+ 'khieukhaparenkorean',
+ 12824,
+ 'khieukhcirclekorean',
+ 12906,
+ 'khieukhkorean',
+ 12619,
+ 'khieukhparenkorean',
+ 12810,
+ 'khokhaithai',
+ 3586,
+ 'khokhonthai',
+ 3589,
+ 'khokhuatthai',
+ 3587,
+ 'khokhwaithai',
+ 3588,
+ 'khomutthai',
+ 3675,
+ 'khook',
+ 409,
+ 'khorakhangthai',
+ 3590,
+ 'khzsquare',
+ 13201,
+ 'kihiragana',
+ 12365,
+ 'kikatakana',
+ 12461,
+ 'kikatakanahalfwidth',
+ 65399,
+ 'kiroguramusquare',
+ 13077,
+ 'kiromeetorusquare',
+ 13078,
+ 'kirosquare',
+ 13076,
+ 'kiyeokacirclekorean',
+ 12910,
+ 'kiyeokaparenkorean',
+ 12814,
+ 'kiyeokcirclekorean',
+ 12896,
+ 'kiyeokkorean',
+ 12593,
+ 'kiyeokparenkorean',
+ 12800,
+ 'kiyeoksioskorean',
+ 12595,
+ 'kjecyrillic',
+ 1116,
+ 'klinebelow',
+ 7733,
+ 'klsquare',
+ 13208,
+ 'kmcubedsquare',
+ 13222,
+ 'kmonospace',
+ 65355,
+ 'kmsquaredsquare',
+ 13218,
+ 'kohiragana',
+ 12371,
+ 'kohmsquare',
+ 13248,
+ 'kokaithai',
+ 3585,
+ 'kokatakana',
+ 12467,
+ 'kokatakanahalfwidth',
+ 65402,
+ 'kooposquare',
+ 13086,
+ 'koppacyrillic',
+ 1153,
+ 'koreanstandardsymbol',
+ 12927,
+ 'koroniscmb',
+ 835,
+ 'kparen',
+ 9382,
+ 'kpasquare',
+ 13226,
+ 'ksicyrillic',
+ 1135,
+ 'ktsquare',
+ 13263,
+ 'kturned',
+ 670,
+ 'kuhiragana',
+ 12367,
+ 'kukatakana',
+ 12463,
+ 'kukatakanahalfwidth',
+ 65400,
+ 'kvsquare',
+ 13240,
+ 'kwsquare',
+ 13246,
+ 'l',
+ 108,
+ 'labengali',
+ 2482,
+ 'lacute',
+ 314,
+ 'ladeva',
+ 2354,
+ 'lagujarati',
+ 2738,
+ 'lagurmukhi',
+ 2610,
+ 'lakkhangyaothai',
+ 3653,
+ 'lamaleffinalarabic',
+ 65276,
+ 'lamalefhamzaabovefinalarabic',
+ 65272,
+ 'lamalefhamzaaboveisolatedarabic',
+ 65271,
+ 'lamalefhamzabelowfinalarabic',
+ 65274,
+ 'lamalefhamzabelowisolatedarabic',
+ 65273,
+ 'lamalefisolatedarabic',
+ 65275,
+ 'lamalefmaddaabovefinalarabic',
+ 65270,
+ 'lamalefmaddaaboveisolatedarabic',
+ 65269,
+ 'lamarabic',
+ 1604,
+ 'lambda',
+ 955,
+ 'lambdastroke',
+ 411,
+ 'lamed',
+ 1500,
+ 'lameddagesh',
+ 64316,
+ 'lameddageshhebrew',
+ 64316,
+ 'lamedhebrew',
+ 1500,
+ 'lamfinalarabic',
+ 65246,
+ 'lamhahinitialarabic',
+ 64714,
+ 'laminitialarabic',
+ 65247,
+ 'lamjeeminitialarabic',
+ 64713,
+ 'lamkhahinitialarabic',
+ 64715,
+ 'lamlamhehisolatedarabic',
+ 65010,
+ 'lammedialarabic',
+ 65248,
+ 'lammeemhahinitialarabic',
+ 64904,
+ 'lammeeminitialarabic',
+ 64716,
+ 'largecircle',
+ 9711,
+ 'lbar',
+ 410,
+ 'lbelt',
+ 620,
+ 'lbopomofo',
+ 12556,
+ 'lcaron',
+ 318,
+ 'lcedilla',
+ 316,
+ 'lcircle',
+ 9435,
+ 'lcircumflexbelow',
+ 7741,
+ 'lcommaaccent',
+ 316,
+ 'ldot',
+ 320,
+ 'ldotaccent',
+ 320,
+ 'ldotbelow',
+ 7735,
+ 'ldotbelowmacron',
+ 7737,
+ 'leftangleabovecmb',
+ 794,
+ 'lefttackbelowcmb',
+ 792,
+ 'less',
+ 60,
+ 'lessequal',
+ 8804,
+ 'lessequalorgreater',
+ 8922,
+ 'lessmonospace',
+ 65308,
+ 'lessorequivalent',
+ 8818,
+ 'lessorgreater',
+ 8822,
+ 'lessoverequal',
+ 8806,
+ 'lesssmall',
+ 65124,
+ 'lezh',
+ 622,
+ 'lfblock',
+ 9612,
+ 'lhookretroflex',
+ 621,
+ 'lira',
+ 8356,
+ 'liwnarmenian',
+ 1388,
+ 'lj',
+ 457,
+ 'ljecyrillic',
+ 1113,
+ 'll',
+ 63168,
+ 'lladeva',
+ 2355,
+ 'llagujarati',
+ 2739,
+ 'llinebelow',
+ 7739,
+ 'llladeva',
+ 2356,
+ 'llvocalicbengali',
+ 2529,
+ 'llvocalicdeva',
+ 2401,
+ 'llvocalicvowelsignbengali',
+ 2531,
+ 'llvocalicvowelsigndeva',
+ 2403,
+ 'lmiddletilde',
+ 619,
+ 'lmonospace',
+ 65356,
+ 'lmsquare',
+ 13264,
+ 'lochulathai',
+ 3628,
+ 'logicaland',
+ 8743,
+ 'logicalnot',
+ 172,
+ 'logicalnotreversed',
+ 8976,
+ 'logicalor',
+ 8744,
+ 'lolingthai',
+ 3621,
+ 'longs',
+ 383,
+ 'lowlinecenterline',
+ 65102,
+ 'lowlinecmb',
+ 818,
+ 'lowlinedashed',
+ 65101,
+ 'lozenge',
+ 9674,
+ 'lparen',
+ 9383,
+ 'lslash',
+ 322,
+ 'lsquare',
+ 8467,
+ 'lsuperior',
+ 63214,
+ 'ltshade',
+ 9617,
+ 'luthai',
+ 3622,
+ 'lvocalicbengali',
+ 2444,
+ 'lvocalicdeva',
+ 2316,
+ 'lvocalicvowelsignbengali',
+ 2530,
+ 'lvocalicvowelsigndeva',
+ 2402,
+ 'lxsquare',
+ 13267,
+ 'm',
+ 109,
+ 'mabengali',
+ 2478,
+ 'macron',
+ 175,
+ 'macronbelowcmb',
+ 817,
+ 'macroncmb',
+ 772,
+ 'macronlowmod',
+ 717,
+ 'macronmonospace',
+ 65507,
+ 'macute',
+ 7743,
+ 'madeva',
+ 2350,
+ 'magujarati',
+ 2734,
+ 'magurmukhi',
+ 2606,
+ 'mahapakhhebrew',
+ 1444,
+ 'mahapakhlefthebrew',
+ 1444,
+ 'mahiragana',
+ 12414,
+ 'maichattawalowleftthai',
+ 63637,
+ 'maichattawalowrightthai',
+ 63636,
+ 'maichattawathai',
+ 3659,
+ 'maichattawaupperleftthai',
+ 63635,
+ 'maieklowleftthai',
+ 63628,
+ 'maieklowrightthai',
+ 63627,
+ 'maiekthai',
+ 3656,
+ 'maiekupperleftthai',
+ 63626,
+ 'maihanakatleftthai',
+ 63620,
+ 'maihanakatthai',
+ 3633,
+ 'maitaikhuleftthai',
+ 63625,
+ 'maitaikhuthai',
+ 3655,
+ 'maitholowleftthai',
+ 63631,
+ 'maitholowrightthai',
+ 63630,
+ 'maithothai',
+ 3657,
+ 'maithoupperleftthai',
+ 63629,
+ 'maitrilowleftthai',
+ 63634,
+ 'maitrilowrightthai',
+ 63633,
+ 'maitrithai',
+ 3658,
+ 'maitriupperleftthai',
+ 63632,
+ 'maiyamokthai',
+ 3654,
+ 'makatakana',
+ 12510,
+ 'makatakanahalfwidth',
+ 65423,
+ 'male',
+ 9794,
+ 'mansyonsquare',
+ 13127,
+ 'maqafhebrew',
+ 1470,
+ 'mars',
+ 9794,
+ 'masoracirclehebrew',
+ 1455,
+ 'masquare',
+ 13187,
+ 'mbopomofo',
+ 12551,
+ 'mbsquare',
+ 13268,
+ 'mcircle',
+ 9436,
+ 'mcubedsquare',
+ 13221,
+ 'mdotaccent',
+ 7745,
+ 'mdotbelow',
+ 7747,
+ 'meemarabic',
+ 1605,
+ 'meemfinalarabic',
+ 65250,
+ 'meeminitialarabic',
+ 65251,
+ 'meemmedialarabic',
+ 65252,
+ 'meemmeeminitialarabic',
+ 64721,
+ 'meemmeemisolatedarabic',
+ 64584,
+ 'meetorusquare',
+ 13133,
+ 'mehiragana',
+ 12417,
+ 'meizierasquare',
+ 13182,
+ 'mekatakana',
+ 12513,
+ 'mekatakanahalfwidth',
+ 65426,
+ 'mem',
+ 1502,
+ 'memdagesh',
+ 64318,
+ 'memdageshhebrew',
+ 64318,
+ 'memhebrew',
+ 1502,
+ 'menarmenian',
+ 1396,
+ 'merkhahebrew',
+ 1445,
+ 'merkhakefulahebrew',
+ 1446,
+ 'merkhakefulalefthebrew',
+ 1446,
+ 'merkhalefthebrew',
+ 1445,
+ 'mhook',
+ 625,
+ 'mhzsquare',
+ 13202,
+ 'middledotkatakanahalfwidth',
+ 65381,
+ 'middot',
+ 183,
+ 'mieumacirclekorean',
+ 12914,
+ 'mieumaparenkorean',
+ 12818,
+ 'mieumcirclekorean',
+ 12900,
+ 'mieumkorean',
+ 12609,
+ 'mieumpansioskorean',
+ 12656,
+ 'mieumparenkorean',
+ 12804,
+ 'mieumpieupkorean',
+ 12654,
+ 'mieumsioskorean',
+ 12655,
+ 'mihiragana',
+ 12415,
+ 'mikatakana',
+ 12511,
+ 'mikatakanahalfwidth',
+ 65424,
+ 'minus',
+ 8722,
+ 'minusbelowcmb',
+ 800,
+ 'minuscircle',
+ 8854,
+ 'minusmod',
+ 727,
+ 'minusplus',
+ 8723,
+ 'minute',
+ 8242,
+ 'miribaarusquare',
+ 13130,
+ 'mirisquare',
+ 13129,
+ 'mlonglegturned',
+ 624,
+ 'mlsquare',
+ 13206,
+ 'mmcubedsquare',
+ 13219,
+ 'mmonospace',
+ 65357,
+ 'mmsquaredsquare',
+ 13215,
+ 'mohiragana',
+ 12418,
+ 'mohmsquare',
+ 13249,
+ 'mokatakana',
+ 12514,
+ 'mokatakanahalfwidth',
+ 65427,
+ 'molsquare',
+ 13270,
+ 'momathai',
+ 3617,
+ 'moverssquare',
+ 13223,
+ 'moverssquaredsquare',
+ 13224,
+ 'mparen',
+ 9384,
+ 'mpasquare',
+ 13227,
+ 'mssquare',
+ 13235,
+ 'msuperior',
+ 63215,
+ 'mturned',
+ 623,
+ 'mu',
+ 181,
+ 'mu1',
+ 181,
+ 'muasquare',
+ 13186,
+ 'muchgreater',
+ 8811,
+ 'muchless',
+ 8810,
+ 'mufsquare',
+ 13196,
+ 'mugreek',
+ 956,
+ 'mugsquare',
+ 13197,
+ 'muhiragana',
+ 12416,
+ 'mukatakana',
+ 12512,
+ 'mukatakanahalfwidth',
+ 65425,
+ 'mulsquare',
+ 13205,
+ 'multiply',
+ 215,
+ 'mumsquare',
+ 13211,
+ 'munahhebrew',
+ 1443,
+ 'munahlefthebrew',
+ 1443,
+ 'musicalnote',
+ 9834,
+ 'musicalnotedbl',
+ 9835,
+ 'musicflatsign',
+ 9837,
+ 'musicsharpsign',
+ 9839,
+ 'mussquare',
+ 13234,
+ 'muvsquare',
+ 13238,
+ 'muwsquare',
+ 13244,
+ 'mvmegasquare',
+ 13241,
+ 'mvsquare',
+ 13239,
+ 'mwmegasquare',
+ 13247,
+ 'mwsquare',
+ 13245,
+ 'n',
+ 110,
+ 'nabengali',
+ 2472,
+ 'nabla',
+ 8711,
+ 'nacute',
+ 324,
+ 'nadeva',
+ 2344,
+ 'nagujarati',
+ 2728,
+ 'nagurmukhi',
+ 2600,
+ 'nahiragana',
+ 12394,
+ 'nakatakana',
+ 12490,
+ 'nakatakanahalfwidth',
+ 65413,
+ 'napostrophe',
+ 329,
+ 'nasquare',
+ 13185,
+ 'nbopomofo',
+ 12555,
+ 'nbspace',
+ 160,
+ 'ncaron',
+ 328,
+ 'ncedilla',
+ 326,
+ 'ncircle',
+ 9437,
+ 'ncircumflexbelow',
+ 7755,
+ 'ncommaaccent',
+ 326,
+ 'ndotaccent',
+ 7749,
+ 'ndotbelow',
+ 7751,
+ 'nehiragana',
+ 12397,
+ 'nekatakana',
+ 12493,
+ 'nekatakanahalfwidth',
+ 65416,
+ 'newsheqelsign',
+ 8362,
+ 'nfsquare',
+ 13195,
+ 'ngabengali',
+ 2457,
+ 'ngadeva',
+ 2329,
+ 'ngagujarati',
+ 2713,
+ 'ngagurmukhi',
+ 2585,
+ 'ngonguthai',
+ 3591,
+ 'nhiragana',
+ 12435,
+ 'nhookleft',
+ 626,
+ 'nhookretroflex',
+ 627,
+ 'nieunacirclekorean',
+ 12911,
+ 'nieunaparenkorean',
+ 12815,
+ 'nieuncieuckorean',
+ 12597,
+ 'nieuncirclekorean',
+ 12897,
+ 'nieunhieuhkorean',
+ 12598,
+ 'nieunkorean',
+ 12596,
+ 'nieunpansioskorean',
+ 12648,
+ 'nieunparenkorean',
+ 12801,
+ 'nieunsioskorean',
+ 12647,
+ 'nieuntikeutkorean',
+ 12646,
+ 'nihiragana',
+ 12395,
+ 'nikatakana',
+ 12491,
+ 'nikatakanahalfwidth',
+ 65414,
+ 'nikhahitleftthai',
+ 63641,
+ 'nikhahitthai',
+ 3661,
+ 'nine',
+ 57,
+ 'ninearabic',
+ 1641,
+ 'ninebengali',
+ 2543,
+ 'ninecircle',
+ 9320,
+ 'ninecircleinversesansserif',
+ 10130,
+ 'ninedeva',
+ 2415,
+ 'ninegujarati',
+ 2799,
+ 'ninegurmukhi',
+ 2671,
+ 'ninehackarabic',
+ 1641,
+ 'ninehangzhou',
+ 12329,
+ 'nineideographicparen',
+ 12840,
+ 'nineinferior',
+ 8329,
+ 'ninemonospace',
+ 65305,
+ 'nineoldstyle',
+ 63289,
+ 'nineparen',
+ 9340,
+ 'nineperiod',
+ 9360,
+ 'ninepersian',
+ 1785,
+ 'nineroman',
+ 8568,
+ 'ninesuperior',
+ 8313,
+ 'nineteencircle',
+ 9330,
+ 'nineteenparen',
+ 9350,
+ 'nineteenperiod',
+ 9370,
+ 'ninethai',
+ 3673,
+ 'nj',
+ 460,
+ 'njecyrillic',
+ 1114,
+ 'nkatakana',
+ 12531,
+ 'nkatakanahalfwidth',
+ 65437,
+ 'nlegrightlong',
+ 414,
+ 'nlinebelow',
+ 7753,
+ 'nmonospace',
+ 65358,
+ 'nmsquare',
+ 13210,
+ 'nnabengali',
+ 2467,
+ 'nnadeva',
+ 2339,
+ 'nnagujarati',
+ 2723,
+ 'nnagurmukhi',
+ 2595,
+ 'nnnadeva',
+ 2345,
+ 'nohiragana',
+ 12398,
+ 'nokatakana',
+ 12494,
+ 'nokatakanahalfwidth',
+ 65417,
+ 'nonbreakingspace',
+ 160,
+ 'nonenthai',
+ 3603,
+ 'nonuthai',
+ 3609,
+ 'noonarabic',
+ 1606,
+ 'noonfinalarabic',
+ 65254,
+ 'noonghunnaarabic',
+ 1722,
+ 'noonghunnafinalarabic',
+ 64415,
+ 'nooninitialarabic',
+ 65255,
+ 'noonjeeminitialarabic',
+ 64722,
+ 'noonjeemisolatedarabic',
+ 64587,
+ 'noonmedialarabic',
+ 65256,
+ 'noonmeeminitialarabic',
+ 64725,
+ 'noonmeemisolatedarabic',
+ 64590,
+ 'noonnoonfinalarabic',
+ 64653,
+ 'notcontains',
+ 8716,
+ 'notelement',
+ 8713,
+ 'notelementof',
+ 8713,
+ 'notequal',
+ 8800,
+ 'notgreater',
+ 8815,
+ 'notgreaternorequal',
+ 8817,
+ 'notgreaternorless',
+ 8825,
+ 'notidentical',
+ 8802,
+ 'notless',
+ 8814,
+ 'notlessnorequal',
+ 8816,
+ 'notparallel',
+ 8742,
+ 'notprecedes',
+ 8832,
+ 'notsubset',
+ 8836,
+ 'notsucceeds',
+ 8833,
+ 'notsuperset',
+ 8837,
+ 'nowarmenian',
+ 1398,
+ 'nparen',
+ 9385,
+ 'nssquare',
+ 13233,
+ 'nsuperior',
+ 8319,
+ 'ntilde',
+ 241,
+ 'nu',
+ 957,
+ 'nuhiragana',
+ 12396,
+ 'nukatakana',
+ 12492,
+ 'nukatakanahalfwidth',
+ 65415,
+ 'nuktabengali',
+ 2492,
+ 'nuktadeva',
+ 2364,
+ 'nuktagujarati',
+ 2748,
+ 'nuktagurmukhi',
+ 2620,
+ 'numbersign',
+ 35,
+ 'numbersignmonospace',
+ 65283,
+ 'numbersignsmall',
+ 65119,
+ 'numeralsigngreek',
+ 884,
+ 'numeralsignlowergreek',
+ 885,
+ 'numero',
+ 8470,
+ 'nun',
+ 1504,
+ 'nundagesh',
+ 64320,
+ 'nundageshhebrew',
+ 64320,
+ 'nunhebrew',
+ 1504,
+ 'nvsquare',
+ 13237,
+ 'nwsquare',
+ 13243,
+ 'nyabengali',
+ 2462,
+ 'nyadeva',
+ 2334,
+ 'nyagujarati',
+ 2718,
+ 'nyagurmukhi',
+ 2590,
+ 'o',
+ 111,
+ 'oacute',
+ 243,
+ 'oangthai',
+ 3629,
+ 'obarred',
+ 629,
+ 'obarredcyrillic',
+ 1257,
+ 'obarreddieresiscyrillic',
+ 1259,
+ 'obengali',
+ 2451,
+ 'obopomofo',
+ 12571,
+ 'obreve',
+ 335,
+ 'ocandradeva',
+ 2321,
+ 'ocandragujarati',
+ 2705,
+ 'ocandravowelsigndeva',
+ 2377,
+ 'ocandravowelsigngujarati',
+ 2761,
+ 'ocaron',
+ 466,
+ 'ocircle',
+ 9438,
+ 'ocircumflex',
+ 244,
+ 'ocircumflexacute',
+ 7889,
+ 'ocircumflexdotbelow',
+ 7897,
+ 'ocircumflexgrave',
+ 7891,
+ 'ocircumflexhookabove',
+ 7893,
+ 'ocircumflextilde',
+ 7895,
+ 'ocyrillic',
+ 1086,
+ 'odblacute',
+ 337,
+ 'odblgrave',
+ 525,
+ 'odeva',
+ 2323,
+ 'odieresis',
+ 246,
+ 'odieresiscyrillic',
+ 1255,
+ 'odotbelow',
+ 7885,
+ 'oe',
+ 339,
+ 'oekorean',
+ 12634,
+ 'ogonek',
+ 731,
+ 'ogonekcmb',
+ 808,
+ 'ograve',
+ 242,
+ 'ogujarati',
+ 2707,
+ 'oharmenian',
+ 1413,
+ 'ohiragana',
+ 12362,
+ 'ohookabove',
+ 7887,
+ 'ohorn',
+ 417,
+ 'ohornacute',
+ 7899,
+ 'ohorndotbelow',
+ 7907,
+ 'ohorngrave',
+ 7901,
+ 'ohornhookabove',
+ 7903,
+ 'ohorntilde',
+ 7905,
+ 'ohungarumlaut',
+ 337,
+ 'oi',
+ 419,
+ 'oinvertedbreve',
+ 527,
+ 'okatakana',
+ 12458,
+ 'okatakanahalfwidth',
+ 65397,
+ 'okorean',
+ 12631,
+ 'olehebrew',
+ 1451,
+ 'omacron',
+ 333,
+ 'omacronacute',
+ 7763,
+ 'omacrongrave',
+ 7761,
+ 'omdeva',
+ 2384,
+ 'omega',
+ 969,
+ 'omega1',
+ 982,
+ 'omegacyrillic',
+ 1121,
+ 'omegalatinclosed',
+ 631,
+ 'omegaroundcyrillic',
+ 1147,
+ 'omegatitlocyrillic',
+ 1149,
+ 'omegatonos',
+ 974,
+ 'omgujarati',
+ 2768,
+ 'omicron',
+ 959,
+ 'omicrontonos',
+ 972,
+ 'omonospace',
+ 65359,
+ 'one',
+ 49,
+ 'onearabic',
+ 1633,
+ 'onebengali',
+ 2535,
+ 'onecircle',
+ 9312,
+ 'onecircleinversesansserif',
+ 10122,
+ 'onedeva',
+ 2407,
+ 'onedotenleader',
+ 8228,
+ 'oneeighth',
+ 8539,
+ 'onefitted',
+ 63196,
+ 'onegujarati',
+ 2791,
+ 'onegurmukhi',
+ 2663,
+ 'onehackarabic',
+ 1633,
+ 'onehalf',
+ 189,
+ 'onehangzhou',
+ 12321,
+ 'oneideographicparen',
+ 12832,
+ 'oneinferior',
+ 8321,
+ 'onemonospace',
+ 65297,
+ 'onenumeratorbengali',
+ 2548,
+ 'oneoldstyle',
+ 63281,
+ 'oneparen',
+ 9332,
+ 'oneperiod',
+ 9352,
+ 'onepersian',
+ 1777,
+ 'onequarter',
+ 188,
+ 'oneroman',
+ 8560,
+ 'onesuperior',
+ 185,
+ 'onethai',
+ 3665,
+ 'onethird',
+ 8531,
+ 'oogonek',
+ 491,
+ 'oogonekmacron',
+ 493,
+ 'oogurmukhi',
+ 2579,
+ 'oomatragurmukhi',
+ 2635,
+ 'oopen',
+ 596,
+ 'oparen',
+ 9386,
+ 'openbullet',
+ 9702,
+ 'option',
+ 8997,
+ 'ordfeminine',
+ 170,
+ 'ordmasculine',
+ 186,
+ 'orthogonal',
+ 8735,
+ 'oshortdeva',
+ 2322,
+ 'oshortvowelsigndeva',
+ 2378,
+ 'oslash',
+ 248,
+ 'oslashacute',
+ 511,
+ 'osmallhiragana',
+ 12361,
+ 'osmallkatakana',
+ 12457,
+ 'osmallkatakanahalfwidth',
+ 65387,
+ 'ostrokeacute',
+ 511,
+ 'osuperior',
+ 63216,
+ 'otcyrillic',
+ 1151,
+ 'otilde',
+ 245,
+ 'otildeacute',
+ 7757,
+ 'otildedieresis',
+ 7759,
+ 'oubopomofo',
+ 12577,
+ 'overline',
+ 8254,
+ 'overlinecenterline',
+ 65098,
+ 'overlinecmb',
+ 773,
+ 'overlinedashed',
+ 65097,
+ 'overlinedblwavy',
+ 65100,
+ 'overlinewavy',
+ 65099,
+ 'overscore',
+ 175,
+ 'ovowelsignbengali',
+ 2507,
+ 'ovowelsigndeva',
+ 2379,
+ 'ovowelsigngujarati',
+ 2763,
+ 'p',
+ 112,
+ 'paampssquare',
+ 13184,
+ 'paasentosquare',
+ 13099,
+ 'pabengali',
+ 2474,
+ 'pacute',
+ 7765,
+ 'padeva',
+ 2346,
+ 'pagedown',
+ 8671,
+ 'pageup',
+ 8670,
+ 'pagujarati',
+ 2730,
+ 'pagurmukhi',
+ 2602,
+ 'pahiragana',
+ 12401,
+ 'paiyannoithai',
+ 3631,
+ 'pakatakana',
+ 12497,
+ 'palatalizationcyrilliccmb',
+ 1156,
+ 'palochkacyrillic',
+ 1216,
+ 'pansioskorean',
+ 12671,
+ 'paragraph',
+ 182,
+ 'parallel',
+ 8741,
+ 'parenleft',
+ 40,
+ 'parenleftaltonearabic',
+ 64830,
+ 'parenleftbt',
+ 63725,
+ 'parenleftex',
+ 63724,
+ 'parenleftinferior',
+ 8333,
+ 'parenleftmonospace',
+ 65288,
+ 'parenleftsmall',
+ 65113,
+ 'parenleftsuperior',
+ 8317,
+ 'parenlefttp',
+ 63723,
+ 'parenleftvertical',
+ 65077,
+ 'parenright',
+ 41,
+ 'parenrightaltonearabic',
+ 64831,
+ 'parenrightbt',
+ 63736,
+ 'parenrightex',
+ 63735,
+ 'parenrightinferior',
+ 8334,
+ 'parenrightmonospace',
+ 65289,
+ 'parenrightsmall',
+ 65114,
+ 'parenrightsuperior',
+ 8318,
+ 'parenrighttp',
+ 63734,
+ 'parenrightvertical',
+ 65078,
+ 'partialdiff',
+ 8706,
+ 'paseqhebrew',
+ 1472,
+ 'pashtahebrew',
+ 1433,
+ 'pasquare',
+ 13225,
+ 'patah',
+ 1463,
+ 'patah11',
+ 1463,
+ 'patah1d',
+ 1463,
+ 'patah2a',
+ 1463,
+ 'patahhebrew',
+ 1463,
+ 'patahnarrowhebrew',
+ 1463,
+ 'patahquarterhebrew',
+ 1463,
+ 'patahwidehebrew',
+ 1463,
+ 'pazerhebrew',
+ 1441,
+ 'pbopomofo',
+ 12550,
+ 'pcircle',
+ 9439,
+ 'pdotaccent',
+ 7767,
+ 'pe',
+ 1508,
+ 'pecyrillic',
+ 1087,
+ 'pedagesh',
+ 64324,
+ 'pedageshhebrew',
+ 64324,
+ 'peezisquare',
+ 13115,
+ 'pefinaldageshhebrew',
+ 64323,
+ 'peharabic',
+ 1662,
+ 'peharmenian',
+ 1402,
+ 'pehebrew',
+ 1508,
+ 'pehfinalarabic',
+ 64343,
+ 'pehinitialarabic',
+ 64344,
+ 'pehiragana',
+ 12410,
+ 'pehmedialarabic',
+ 64345,
+ 'pekatakana',
+ 12506,
+ 'pemiddlehookcyrillic',
+ 1191,
+ 'perafehebrew',
+ 64334,
+ 'percent',
+ 37,
+ 'percentarabic',
+ 1642,
+ 'percentmonospace',
+ 65285,
+ 'percentsmall',
+ 65130,
+ 'period',
+ 46,
+ 'periodarmenian',
+ 1417,
+ 'periodcentered',
+ 183,
+ 'periodhalfwidth',
+ 65377,
+ 'periodinferior',
+ 63207,
+ 'periodmonospace',
+ 65294,
+ 'periodsmall',
+ 65106,
+ 'periodsuperior',
+ 63208,
+ 'perispomenigreekcmb',
+ 834,
+ 'perpendicular',
+ 8869,
+ 'perthousand',
+ 8240,
+ 'peseta',
+ 8359,
+ 'pfsquare',
+ 13194,
+ 'phabengali',
+ 2475,
+ 'phadeva',
+ 2347,
+ 'phagujarati',
+ 2731,
+ 'phagurmukhi',
+ 2603,
+ 'phi',
+ 966,
+ 'phi1',
+ 981,
+ 'phieuphacirclekorean',
+ 12922,
+ 'phieuphaparenkorean',
+ 12826,
+ 'phieuphcirclekorean',
+ 12908,
+ 'phieuphkorean',
+ 12621,
+ 'phieuphparenkorean',
+ 12812,
+ 'philatin',
+ 632,
+ 'phinthuthai',
+ 3642,
+ 'phisymbolgreek',
+ 981,
+ 'phook',
+ 421,
+ 'phophanthai',
+ 3614,
+ 'phophungthai',
+ 3612,
+ 'phosamphaothai',
+ 3616,
+ 'pi',
+ 960,
+ 'pieupacirclekorean',
+ 12915,
+ 'pieupaparenkorean',
+ 12819,
+ 'pieupcieuckorean',
+ 12662,
+ 'pieupcirclekorean',
+ 12901,
+ 'pieupkiyeokkorean',
+ 12658,
+ 'pieupkorean',
+ 12610,
+ 'pieupparenkorean',
+ 12805,
+ 'pieupsioskiyeokkorean',
+ 12660,
+ 'pieupsioskorean',
+ 12612,
+ 'pieupsiostikeutkorean',
+ 12661,
+ 'pieupthieuthkorean',
+ 12663,
+ 'pieuptikeutkorean',
+ 12659,
+ 'pihiragana',
+ 12404,
+ 'pikatakana',
+ 12500,
+ 'pisymbolgreek',
+ 982,
+ 'piwrarmenian',
+ 1411,
+ 'plus',
+ 43,
+ 'plusbelowcmb',
+ 799,
+ 'pluscircle',
+ 8853,
+ 'plusminus',
+ 177,
+ 'plusmod',
+ 726,
+ 'plusmonospace',
+ 65291,
+ 'plussmall',
+ 65122,
+ 'plussuperior',
+ 8314,
+ 'pmonospace',
+ 65360,
+ 'pmsquare',
+ 13272,
+ 'pohiragana',
+ 12413,
+ 'pointingindexdownwhite',
+ 9759,
+ 'pointingindexleftwhite',
+ 9756,
+ 'pointingindexrightwhite',
+ 9758,
+ 'pointingindexupwhite',
+ 9757,
+ 'pokatakana',
+ 12509,
+ 'poplathai',
+ 3611,
+ 'postalmark',
+ 12306,
+ 'postalmarkface',
+ 12320,
+ 'pparen',
+ 9387,
+ 'precedes',
+ 8826,
+ 'prescription',
+ 8478,
+ 'primemod',
+ 697,
+ 'primereversed',
+ 8245,
+ 'product',
+ 8719,
+ 'projective',
+ 8965,
+ 'prolongedkana',
+ 12540,
+ 'propellor',
+ 8984,
+ 'propersubset',
+ 8834,
+ 'propersuperset',
+ 8835,
+ 'proportion',
+ 8759,
+ 'proportional',
+ 8733,
+ 'psi',
+ 968,
+ 'psicyrillic',
+ 1137,
+ 'psilipneumatacyrilliccmb',
+ 1158,
+ 'pssquare',
+ 13232,
+ 'puhiragana',
+ 12407,
+ 'pukatakana',
+ 12503,
+ 'pvsquare',
+ 13236,
+ 'pwsquare',
+ 13242,
+ 'q',
+ 113,
+ 'qadeva',
+ 2392,
+ 'qadmahebrew',
+ 1448,
+ 'qafarabic',
+ 1602,
+ 'qaffinalarabic',
+ 65238,
+ 'qafinitialarabic',
+ 65239,
+ 'qafmedialarabic',
+ 65240,
+ 'qamats',
+ 1464,
+ 'qamats10',
+ 1464,
+ 'qamats1a',
+ 1464,
+ 'qamats1c',
+ 1464,
+ 'qamats27',
+ 1464,
+ 'qamats29',
+ 1464,
+ 'qamats33',
+ 1464,
+ 'qamatsde',
+ 1464,
+ 'qamatshebrew',
+ 1464,
+ 'qamatsnarrowhebrew',
+ 1464,
+ 'qamatsqatanhebrew',
+ 1464,
+ 'qamatsqatannarrowhebrew',
+ 1464,
+ 'qamatsqatanquarterhebrew',
+ 1464,
+ 'qamatsqatanwidehebrew',
+ 1464,
+ 'qamatsquarterhebrew',
+ 1464,
+ 'qamatswidehebrew',
+ 1464,
+ 'qarneyparahebrew',
+ 1439,
+ 'qbopomofo',
+ 12561,
+ 'qcircle',
+ 9440,
+ 'qhook',
+ 672,
+ 'qmonospace',
+ 65361,
+ 'qof',
+ 1511,
+ 'qofdagesh',
+ 64327,
+ 'qofdageshhebrew',
+ 64327,
+ 'qofhebrew',
+ 1511,
+ 'qparen',
+ 9388,
+ 'quarternote',
+ 9833,
+ 'qubuts',
+ 1467,
+ 'qubuts18',
+ 1467,
+ 'qubuts25',
+ 1467,
+ 'qubuts31',
+ 1467,
+ 'qubutshebrew',
+ 1467,
+ 'qubutsnarrowhebrew',
+ 1467,
+ 'qubutsquarterhebrew',
+ 1467,
+ 'qubutswidehebrew',
+ 1467,
+ 'question',
+ 63,
+ 'questionarabic',
+ 1567,
+ 'questionarmenian',
+ 1374,
+ 'questiondown',
+ 191,
+ 'questiondownsmall',
+ 63423,
+ 'questiongreek',
+ 894,
+ 'questionmonospace',
+ 65311,
+ 'questionsmall',
+ 63295,
+ 'quotedbl',
+ 34,
+ 'quotedblbase',
+ 8222,
+ 'quotedblleft',
+ 8220,
+ 'quotedblmonospace',
+ 65282,
+ 'quotedblprime',
+ 12318,
+ 'quotedblprimereversed',
+ 12317,
+ 'quotedblright',
+ 8221,
+ 'quoteleft',
+ 8216,
+ 'quoteleftreversed',
+ 8219,
+ 'quotereversed',
+ 8219,
+ 'quoteright',
+ 8217,
+ 'quoterightn',
+ 329,
+ 'quotesinglbase',
+ 8218,
+ 'quotesingle',
+ 39,
+ 'quotesinglemonospace',
+ 65287,
+ 'r',
+ 114,
+ 'raarmenian',
+ 1404,
+ 'rabengali',
+ 2480,
+ 'racute',
+ 341,
+ 'radeva',
+ 2352,
+ 'radical',
+ 8730,
+ 'radicalex',
+ 63717,
+ 'radoverssquare',
+ 13230,
+ 'radoverssquaredsquare',
+ 13231,
+ 'radsquare',
+ 13229,
+ 'rafe',
+ 1471,
+ 'rafehebrew',
+ 1471,
+ 'ragujarati',
+ 2736,
+ 'ragurmukhi',
+ 2608,
+ 'rahiragana',
+ 12425,
+ 'rakatakana',
+ 12521,
+ 'rakatakanahalfwidth',
+ 65431,
+ 'ralowerdiagonalbengali',
+ 2545,
+ 'ramiddlediagonalbengali',
+ 2544,
+ 'ramshorn',
+ 612,
+ 'ratio',
+ 8758,
+ 'rbopomofo',
+ 12566,
+ 'rcaron',
+ 345,
+ 'rcedilla',
+ 343,
+ 'rcircle',
+ 9441,
+ 'rcommaaccent',
+ 343,
+ 'rdblgrave',
+ 529,
+ 'rdotaccent',
+ 7769,
+ 'rdotbelow',
+ 7771,
+ 'rdotbelowmacron',
+ 7773,
+ 'referencemark',
+ 8251,
+ 'reflexsubset',
+ 8838,
+ 'reflexsuperset',
+ 8839,
+ 'registered',
+ 174,
+ 'registersans',
+ 63720,
+ 'registerserif',
+ 63194,
+ 'reharabic',
+ 1585,
+ 'reharmenian',
+ 1408,
+ 'rehfinalarabic',
+ 65198,
+ 'rehiragana',
+ 12428,
+ 'rekatakana',
+ 12524,
+ 'rekatakanahalfwidth',
+ 65434,
+ 'resh',
+ 1512,
+ 'reshdageshhebrew',
+ 64328,
+ 'reshhebrew',
+ 1512,
+ 'reversedtilde',
+ 8765,
+ 'reviahebrew',
+ 1431,
+ 'reviamugrashhebrew',
+ 1431,
+ 'revlogicalnot',
+ 8976,
+ 'rfishhook',
+ 638,
+ 'rfishhookreversed',
+ 639,
+ 'rhabengali',
+ 2525,
+ 'rhadeva',
+ 2397,
+ 'rho',
+ 961,
+ 'rhook',
+ 637,
+ 'rhookturned',
+ 635,
+ 'rhookturnedsuperior',
+ 693,
+ 'rhosymbolgreek',
+ 1009,
+ 'rhotichookmod',
+ 734,
+ 'rieulacirclekorean',
+ 12913,
+ 'rieulaparenkorean',
+ 12817,
+ 'rieulcirclekorean',
+ 12899,
+ 'rieulhieuhkorean',
+ 12608,
+ 'rieulkiyeokkorean',
+ 12602,
+ 'rieulkiyeoksioskorean',
+ 12649,
+ 'rieulkorean',
+ 12601,
+ 'rieulmieumkorean',
+ 12603,
+ 'rieulpansioskorean',
+ 12652,
+ 'rieulparenkorean',
+ 12803,
+ 'rieulphieuphkorean',
+ 12607,
+ 'rieulpieupkorean',
+ 12604,
+ 'rieulpieupsioskorean',
+ 12651,
+ 'rieulsioskorean',
+ 12605,
+ 'rieulthieuthkorean',
+ 12606,
+ 'rieultikeutkorean',
+ 12650,
+ 'rieulyeorinhieuhkorean',
+ 12653,
+ 'rightangle',
+ 8735,
+ 'righttackbelowcmb',
+ 793,
+ 'righttriangle',
+ 8895,
+ 'rihiragana',
+ 12426,
+ 'rikatakana',
+ 12522,
+ 'rikatakanahalfwidth',
+ 65432,
+ 'ring',
+ 730,
+ 'ringbelowcmb',
+ 805,
+ 'ringcmb',
+ 778,
+ 'ringhalfleft',
+ 703,
+ 'ringhalfleftarmenian',
+ 1369,
+ 'ringhalfleftbelowcmb',
+ 796,
+ 'ringhalfleftcentered',
+ 723,
+ 'ringhalfright',
+ 702,
+ 'ringhalfrightbelowcmb',
+ 825,
+ 'ringhalfrightcentered',
+ 722,
+ 'rinvertedbreve',
+ 531,
+ 'rittorusquare',
+ 13137,
+ 'rlinebelow',
+ 7775,
+ 'rlongleg',
+ 636,
+ 'rlonglegturned',
+ 634,
+ 'rmonospace',
+ 65362,
+ 'rohiragana',
+ 12429,
+ 'rokatakana',
+ 12525,
+ 'rokatakanahalfwidth',
+ 65435,
+ 'roruathai',
+ 3619,
+ 'rparen',
+ 9389,
+ 'rrabengali',
+ 2524,
+ 'rradeva',
+ 2353,
+ 'rragurmukhi',
+ 2652,
+ 'rreharabic',
+ 1681,
+ 'rrehfinalarabic',
+ 64397,
+ 'rrvocalicbengali',
+ 2528,
+ 'rrvocalicdeva',
+ 2400,
+ 'rrvocalicgujarati',
+ 2784,
+ 'rrvocalicvowelsignbengali',
+ 2500,
+ 'rrvocalicvowelsigndeva',
+ 2372,
+ 'rrvocalicvowelsigngujarati',
+ 2756,
+ 'rsuperior',
+ 63217,
+ 'rtblock',
+ 9616,
+ 'rturned',
+ 633,
+ 'rturnedsuperior',
+ 692,
+ 'ruhiragana',
+ 12427,
+ 'rukatakana',
+ 12523,
+ 'rukatakanahalfwidth',
+ 65433,
+ 'rupeemarkbengali',
+ 2546,
+ 'rupeesignbengali',
+ 2547,
+ 'rupiah',
+ 63197,
+ 'ruthai',
+ 3620,
+ 'rvocalicbengali',
+ 2443,
+ 'rvocalicdeva',
+ 2315,
+ 'rvocalicgujarati',
+ 2699,
+ 'rvocalicvowelsignbengali',
+ 2499,
+ 'rvocalicvowelsigndeva',
+ 2371,
+ 'rvocalicvowelsigngujarati',
+ 2755,
+ 's',
+ 115,
+ 'sabengali',
+ 2488,
+ 'sacute',
+ 347,
+ 'sacutedotaccent',
+ 7781,
+ 'sadarabic',
+ 1589,
+ 'sadeva',
+ 2360,
+ 'sadfinalarabic',
+ 65210,
+ 'sadinitialarabic',
+ 65211,
+ 'sadmedialarabic',
+ 65212,
+ 'sagujarati',
+ 2744,
+ 'sagurmukhi',
+ 2616,
+ 'sahiragana',
+ 12373,
+ 'sakatakana',
+ 12469,
+ 'sakatakanahalfwidth',
+ 65403,
+ 'sallallahoualayhewasallamarabic',
+ 65018,
+ 'samekh',
+ 1505,
+ 'samekhdagesh',
+ 64321,
+ 'samekhdageshhebrew',
+ 64321,
+ 'samekhhebrew',
+ 1505,
+ 'saraaathai',
+ 3634,
+ 'saraaethai',
+ 3649,
+ 'saraaimaimalaithai',
+ 3652,
+ 'saraaimaimuanthai',
+ 3651,
+ 'saraamthai',
+ 3635,
+ 'saraathai',
+ 3632,
+ 'saraethai',
+ 3648,
+ 'saraiileftthai',
+ 63622,
+ 'saraiithai',
+ 3637,
+ 'saraileftthai',
+ 63621,
+ 'saraithai',
+ 3636,
+ 'saraothai',
+ 3650,
+ 'saraueeleftthai',
+ 63624,
+ 'saraueethai',
+ 3639,
+ 'saraueleftthai',
+ 63623,
+ 'sarauethai',
+ 3638,
+ 'sarauthai',
+ 3640,
+ 'sarauuthai',
+ 3641,
+ 'sbopomofo',
+ 12569,
+ 'scaron',
+ 353,
+ 'scarondotaccent',
+ 7783,
+ 'scedilla',
+ 351,
+ 'schwa',
+ 601,
+ 'schwacyrillic',
+ 1241,
+ 'schwadieresiscyrillic',
+ 1243,
+ 'schwahook',
+ 602,
+ 'scircle',
+ 9442,
+ 'scircumflex',
+ 349,
+ 'scommaaccent',
+ 537,
+ 'sdotaccent',
+ 7777,
+ 'sdotbelow',
+ 7779,
+ 'sdotbelowdotaccent',
+ 7785,
+ 'seagullbelowcmb',
+ 828,
+ 'second',
+ 8243,
+ 'secondtonechinese',
+ 714,
+ 'section',
+ 167,
+ 'seenarabic',
+ 1587,
+ 'seenfinalarabic',
+ 65202,
+ 'seeninitialarabic',
+ 65203,
+ 'seenmedialarabic',
+ 65204,
+ 'segol',
+ 1462,
+ 'segol13',
+ 1462,
+ 'segol1f',
+ 1462,
+ 'segol2c',
+ 1462,
+ 'segolhebrew',
+ 1462,
+ 'segolnarrowhebrew',
+ 1462,
+ 'segolquarterhebrew',
+ 1462,
+ 'segoltahebrew',
+ 1426,
+ 'segolwidehebrew',
+ 1462,
+ 'seharmenian',
+ 1405,
+ 'sehiragana',
+ 12379,
+ 'sekatakana',
+ 12475,
+ 'sekatakanahalfwidth',
+ 65406,
+ 'semicolon',
+ 59,
+ 'semicolonarabic',
+ 1563,
+ 'semicolonmonospace',
+ 65307,
+ 'semicolonsmall',
+ 65108,
+ 'semivoicedmarkkana',
+ 12444,
+ 'semivoicedmarkkanahalfwidth',
+ 65439,
+ 'sentisquare',
+ 13090,
+ 'sentosquare',
+ 13091,
+ 'seven',
+ 55,
+ 'sevenarabic',
+ 1639,
+ 'sevenbengali',
+ 2541,
+ 'sevencircle',
+ 9318,
+ 'sevencircleinversesansserif',
+ 10128,
+ 'sevendeva',
+ 2413,
+ 'seveneighths',
+ 8542,
+ 'sevengujarati',
+ 2797,
+ 'sevengurmukhi',
+ 2669,
+ 'sevenhackarabic',
+ 1639,
+ 'sevenhangzhou',
+ 12327,
+ 'sevenideographicparen',
+ 12838,
+ 'seveninferior',
+ 8327,
+ 'sevenmonospace',
+ 65303,
+ 'sevenoldstyle',
+ 63287,
+ 'sevenparen',
+ 9338,
+ 'sevenperiod',
+ 9358,
+ 'sevenpersian',
+ 1783,
+ 'sevenroman',
+ 8566,
+ 'sevensuperior',
+ 8311,
+ 'seventeencircle',
+ 9328,
+ 'seventeenparen',
+ 9348,
+ 'seventeenperiod',
+ 9368,
+ 'seventhai',
+ 3671,
+ 'sfthyphen',
+ 173,
+ 'shaarmenian',
+ 1399,
+ 'shabengali',
+ 2486,
+ 'shacyrillic',
+ 1096,
+ 'shaddaarabic',
+ 1617,
+ 'shaddadammaarabic',
+ 64609,
+ 'shaddadammatanarabic',
+ 64606,
+ 'shaddafathaarabic',
+ 64608,
+ 'shaddakasraarabic',
+ 64610,
+ 'shaddakasratanarabic',
+ 64607,
+ 'shade',
+ 9618,
+ 'shadedark',
+ 9619,
+ 'shadelight',
+ 9617,
+ 'shademedium',
+ 9618,
+ 'shadeva',
+ 2358,
+ 'shagujarati',
+ 2742,
+ 'shagurmukhi',
+ 2614,
+ 'shalshelethebrew',
+ 1427,
+ 'shbopomofo',
+ 12565,
+ 'shchacyrillic',
+ 1097,
+ 'sheenarabic',
+ 1588,
+ 'sheenfinalarabic',
+ 65206,
+ 'sheeninitialarabic',
+ 65207,
+ 'sheenmedialarabic',
+ 65208,
+ 'sheicoptic',
+ 995,
+ 'sheqel',
+ 8362,
+ 'sheqelhebrew',
+ 8362,
+ 'sheva',
+ 1456,
+ 'sheva115',
+ 1456,
+ 'sheva15',
+ 1456,
+ 'sheva22',
+ 1456,
+ 'sheva2e',
+ 1456,
+ 'shevahebrew',
+ 1456,
+ 'shevanarrowhebrew',
+ 1456,
+ 'shevaquarterhebrew',
+ 1456,
+ 'shevawidehebrew',
+ 1456,
+ 'shhacyrillic',
+ 1211,
+ 'shimacoptic',
+ 1005,
+ 'shin',
+ 1513,
+ 'shindagesh',
+ 64329,
+ 'shindageshhebrew',
+ 64329,
+ 'shindageshshindot',
+ 64300,
+ 'shindageshshindothebrew',
+ 64300,
+ 'shindageshsindot',
+ 64301,
+ 'shindageshsindothebrew',
+ 64301,
+ 'shindothebrew',
+ 1473,
+ 'shinhebrew',
+ 1513,
+ 'shinshindot',
+ 64298,
+ 'shinshindothebrew',
+ 64298,
+ 'shinsindot',
+ 64299,
+ 'shinsindothebrew',
+ 64299,
+ 'shook',
+ 642,
+ 'sigma',
+ 963,
+ 'sigma1',
+ 962,
+ 'sigmafinal',
+ 962,
+ 'sigmalunatesymbolgreek',
+ 1010,
+ 'sihiragana',
+ 12375,
+ 'sikatakana',
+ 12471,
+ 'sikatakanahalfwidth',
+ 65404,
+ 'siluqhebrew',
+ 1469,
+ 'siluqlefthebrew',
+ 1469,
+ 'similar',
+ 8764,
+ 'sindothebrew',
+ 1474,
+ 'siosacirclekorean',
+ 12916,
+ 'siosaparenkorean',
+ 12820,
+ 'sioscieuckorean',
+ 12670,
+ 'sioscirclekorean',
+ 12902,
+ 'sioskiyeokkorean',
+ 12666,
+ 'sioskorean',
+ 12613,
+ 'siosnieunkorean',
+ 12667,
+ 'siosparenkorean',
+ 12806,
+ 'siospieupkorean',
+ 12669,
+ 'siostikeutkorean',
+ 12668,
+ 'six',
+ 54,
+ 'sixarabic',
+ 1638,
+ 'sixbengali',
+ 2540,
+ 'sixcircle',
+ 9317,
+ 'sixcircleinversesansserif',
+ 10127,
+ 'sixdeva',
+ 2412,
+ 'sixgujarati',
+ 2796,
+ 'sixgurmukhi',
+ 2668,
+ 'sixhackarabic',
+ 1638,
+ 'sixhangzhou',
+ 12326,
+ 'sixideographicparen',
+ 12837,
+ 'sixinferior',
+ 8326,
+ 'sixmonospace',
+ 65302,
+ 'sixoldstyle',
+ 63286,
+ 'sixparen',
+ 9337,
+ 'sixperiod',
+ 9357,
+ 'sixpersian',
+ 1782,
+ 'sixroman',
+ 8565,
+ 'sixsuperior',
+ 8310,
+ 'sixteencircle',
+ 9327,
+ 'sixteencurrencydenominatorbengali',
+ 2553,
+ 'sixteenparen',
+ 9347,
+ 'sixteenperiod',
+ 9367,
+ 'sixthai',
+ 3670,
+ 'slash',
+ 47,
+ 'slashmonospace',
+ 65295,
+ 'slong',
+ 383,
+ 'slongdotaccent',
+ 7835,
+ 'smileface',
+ 9786,
+ 'smonospace',
+ 65363,
+ 'sofpasuqhebrew',
+ 1475,
+ 'softhyphen',
+ 173,
+ 'softsigncyrillic',
+ 1100,
+ 'sohiragana',
+ 12381,
+ 'sokatakana',
+ 12477,
+ 'sokatakanahalfwidth',
+ 65407,
+ 'soliduslongoverlaycmb',
+ 824,
+ 'solidusshortoverlaycmb',
+ 823,
+ 'sorusithai',
+ 3625,
+ 'sosalathai',
+ 3624,
+ 'sosothai',
+ 3595,
+ 'sosuathai',
+ 3626,
+ 'space',
+ 32,
+ 'spacehackarabic',
+ 32,
+ 'spade',
+ 9824,
+ 'spadesuitblack',
+ 9824,
+ 'spadesuitwhite',
+ 9828,
+ 'sparen',
+ 9390,
+ 'squarebelowcmb',
+ 827,
+ 'squarecc',
+ 13252,
+ 'squarecm',
+ 13213,
+ 'squarediagonalcrosshatchfill',
+ 9641,
+ 'squarehorizontalfill',
+ 9636,
+ 'squarekg',
+ 13199,
+ 'squarekm',
+ 13214,
+ 'squarekmcapital',
+ 13262,
+ 'squareln',
+ 13265,
+ 'squarelog',
+ 13266,
+ 'squaremg',
+ 13198,
+ 'squaremil',
+ 13269,
+ 'squaremm',
+ 13212,
+ 'squaremsquared',
+ 13217,
+ 'squareorthogonalcrosshatchfill',
+ 9638,
+ 'squareupperlefttolowerrightfill',
+ 9639,
+ 'squareupperrighttolowerleftfill',
+ 9640,
+ 'squareverticalfill',
+ 9637,
+ 'squarewhitewithsmallblack',
+ 9635,
+ 'srsquare',
+ 13275,
+ 'ssabengali',
+ 2487,
+ 'ssadeva',
+ 2359,
+ 'ssagujarati',
+ 2743,
+ 'ssangcieuckorean',
+ 12617,
+ 'ssanghieuhkorean',
+ 12677,
+ 'ssangieungkorean',
+ 12672,
+ 'ssangkiyeokkorean',
+ 12594,
+ 'ssangnieunkorean',
+ 12645,
+ 'ssangpieupkorean',
+ 12611,
+ 'ssangsioskorean',
+ 12614,
+ 'ssangtikeutkorean',
+ 12600,
+ 'ssuperior',
+ 63218,
+ 'sterling',
+ 163,
+ 'sterlingmonospace',
+ 65505,
+ 'strokelongoverlaycmb',
+ 822,
+ 'strokeshortoverlaycmb',
+ 821,
+ 'subset',
+ 8834,
+ 'subsetnotequal',
+ 8842,
+ 'subsetorequal',
+ 8838,
+ 'succeeds',
+ 8827,
+ 'suchthat',
+ 8715,
+ 'suhiragana',
+ 12377,
+ 'sukatakana',
+ 12473,
+ 'sukatakanahalfwidth',
+ 65405,
+ 'sukunarabic',
+ 1618,
+ 'summation',
+ 8721,
+ 'sun',
+ 9788,
+ 'superset',
+ 8835,
+ 'supersetnotequal',
+ 8843,
+ 'supersetorequal',
+ 8839,
+ 'svsquare',
+ 13276,
+ 'syouwaerasquare',
+ 13180,
+ 't',
+ 116,
+ 'tabengali',
+ 2468,
+ 'tackdown',
+ 8868,
+ 'tackleft',
+ 8867,
+ 'tadeva',
+ 2340,
+ 'tagujarati',
+ 2724,
+ 'tagurmukhi',
+ 2596,
+ 'taharabic',
+ 1591,
+ 'tahfinalarabic',
+ 65218,
+ 'tahinitialarabic',
+ 65219,
+ 'tahiragana',
+ 12383,
+ 'tahmedialarabic',
+ 65220,
+ 'taisyouerasquare',
+ 13181,
+ 'takatakana',
+ 12479,
+ 'takatakanahalfwidth',
+ 65408,
+ 'tatweelarabic',
+ 1600,
+ 'tau',
+ 964,
+ 'tav',
+ 1514,
+ 'tavdages',
+ 64330,
+ 'tavdagesh',
+ 64330,
+ 'tavdageshhebrew',
+ 64330,
+ 'tavhebrew',
+ 1514,
+ 'tbar',
+ 359,
+ 'tbopomofo',
+ 12554,
+ 'tcaron',
+ 357,
+ 'tccurl',
+ 680,
+ 'tcedilla',
+ 355,
+ 'tcheharabic',
+ 1670,
+ 'tchehfinalarabic',
+ 64379,
+ 'tchehinitialarabic',
+ 64380,
+ 'tchehmedialarabic',
+ 64381,
+ 'tcircle',
+ 9443,
+ 'tcircumflexbelow',
+ 7793,
+ 'tcommaaccent',
+ 355,
+ 'tdieresis',
+ 7831,
+ 'tdotaccent',
+ 7787,
+ 'tdotbelow',
+ 7789,
+ 'tecyrillic',
+ 1090,
+ 'tedescendercyrillic',
+ 1197,
+ 'teharabic',
+ 1578,
+ 'tehfinalarabic',
+ 65174,
+ 'tehhahinitialarabic',
+ 64674,
+ 'tehhahisolatedarabic',
+ 64524,
+ 'tehinitialarabic',
+ 65175,
+ 'tehiragana',
+ 12390,
+ 'tehjeeminitialarabic',
+ 64673,
+ 'tehjeemisolatedarabic',
+ 64523,
+ 'tehmarbutaarabic',
+ 1577,
+ 'tehmarbutafinalarabic',
+ 65172,
+ 'tehmedialarabic',
+ 65176,
+ 'tehmeeminitialarabic',
+ 64676,
+ 'tehmeemisolatedarabic',
+ 64526,
+ 'tehnoonfinalarabic',
+ 64627,
+ 'tekatakana',
+ 12486,
+ 'tekatakanahalfwidth',
+ 65411,
+ 'telephone',
+ 8481,
+ 'telephoneblack',
+ 9742,
+ 'telishagedolahebrew',
+ 1440,
+ 'telishaqetanahebrew',
+ 1449,
+ 'tencircle',
+ 9321,
+ 'tenideographicparen',
+ 12841,
+ 'tenparen',
+ 9341,
+ 'tenperiod',
+ 9361,
+ 'tenroman',
+ 8569,
+ 'tesh',
+ 679,
+ 'tet',
+ 1496,
+ 'tetdagesh',
+ 64312,
+ 'tetdageshhebrew',
+ 64312,
+ 'tethebrew',
+ 1496,
+ 'tetsecyrillic',
+ 1205,
+ 'tevirhebrew',
+ 1435,
+ 'tevirlefthebrew',
+ 1435,
+ 'thabengali',
+ 2469,
+ 'thadeva',
+ 2341,
+ 'thagujarati',
+ 2725,
+ 'thagurmukhi',
+ 2597,
+ 'thalarabic',
+ 1584,
+ 'thalfinalarabic',
+ 65196,
+ 'thanthakhatlowleftthai',
+ 63640,
+ 'thanthakhatlowrightthai',
+ 63639,
+ 'thanthakhatthai',
+ 3660,
+ 'thanthakhatupperleftthai',
+ 63638,
+ 'theharabic',
+ 1579,
+ 'thehfinalarabic',
+ 65178,
+ 'thehinitialarabic',
+ 65179,
+ 'thehmedialarabic',
+ 65180,
+ 'thereexists',
+ 8707,
+ 'therefore',
+ 8756,
+ 'theta',
+ 952,
+ 'theta1',
+ 977,
+ 'thetasymbolgreek',
+ 977,
+ 'thieuthacirclekorean',
+ 12921,
+ 'thieuthaparenkorean',
+ 12825,
+ 'thieuthcirclekorean',
+ 12907,
+ 'thieuthkorean',
+ 12620,
+ 'thieuthparenkorean',
+ 12811,
+ 'thirteencircle',
+ 9324,
+ 'thirteenparen',
+ 9344,
+ 'thirteenperiod',
+ 9364,
+ 'thonangmonthothai',
+ 3601,
+ 'thook',
+ 429,
+ 'thophuthaothai',
+ 3602,
+ 'thorn',
+ 254,
+ 'thothahanthai',
+ 3607,
+ 'thothanthai',
+ 3600,
+ 'thothongthai',
+ 3608,
+ 'thothungthai',
+ 3606,
+ 'thousandcyrillic',
+ 1154,
+ 'thousandsseparatorarabic',
+ 1644,
+ 'thousandsseparatorpersian',
+ 1644,
+ 'three',
+ 51,
+ 'threearabic',
+ 1635,
+ 'threebengali',
+ 2537,
+ 'threecircle',
+ 9314,
+ 'threecircleinversesansserif',
+ 10124,
+ 'threedeva',
+ 2409,
+ 'threeeighths',
+ 8540,
+ 'threegujarati',
+ 2793,
+ 'threegurmukhi',
+ 2665,
+ 'threehackarabic',
+ 1635,
+ 'threehangzhou',
+ 12323,
+ 'threeideographicparen',
+ 12834,
+ 'threeinferior',
+ 8323,
+ 'threemonospace',
+ 65299,
+ 'threenumeratorbengali',
+ 2550,
+ 'threeoldstyle',
+ 63283,
+ 'threeparen',
+ 9334,
+ 'threeperiod',
+ 9354,
+ 'threepersian',
+ 1779,
+ 'threequarters',
+ 190,
+ 'threequartersemdash',
+ 63198,
+ 'threeroman',
+ 8562,
+ 'threesuperior',
+ 179,
+ 'threethai',
+ 3667,
+ 'thzsquare',
+ 13204,
+ 'tihiragana',
+ 12385,
+ 'tikatakana',
+ 12481,
+ 'tikatakanahalfwidth',
+ 65409,
+ 'tikeutacirclekorean',
+ 12912,
+ 'tikeutaparenkorean',
+ 12816,
+ 'tikeutcirclekorean',
+ 12898,
+ 'tikeutkorean',
+ 12599,
+ 'tikeutparenkorean',
+ 12802,
+ 'tilde',
+ 732,
+ 'tildebelowcmb',
+ 816,
+ 'tildecmb',
+ 771,
+ 'tildecomb',
+ 771,
+ 'tildedoublecmb',
+ 864,
+ 'tildeoperator',
+ 8764,
+ 'tildeoverlaycmb',
+ 820,
+ 'tildeverticalcmb',
+ 830,
+ 'timescircle',
+ 8855,
+ 'tipehahebrew',
+ 1430,
+ 'tipehalefthebrew',
+ 1430,
+ 'tippigurmukhi',
+ 2672,
+ 'titlocyrilliccmb',
+ 1155,
+ 'tiwnarmenian',
+ 1407,
+ 'tlinebelow',
+ 7791,
+ 'tmonospace',
+ 65364,
+ 'toarmenian',
+ 1385,
+ 'tohiragana',
+ 12392,
+ 'tokatakana',
+ 12488,
+ 'tokatakanahalfwidth',
+ 65412,
+ 'tonebarextrahighmod',
+ 741,
+ 'tonebarextralowmod',
+ 745,
+ 'tonebarhighmod',
+ 742,
+ 'tonebarlowmod',
+ 744,
+ 'tonebarmidmod',
+ 743,
+ 'tonefive',
+ 445,
+ 'tonesix',
+ 389,
+ 'tonetwo',
+ 424,
+ 'tonos',
+ 900,
+ 'tonsquare',
+ 13095,
+ 'topatakthai',
+ 3599,
+ 'tortoiseshellbracketleft',
+ 12308,
+ 'tortoiseshellbracketleftsmall',
+ 65117,
+ 'tortoiseshellbracketleftvertical',
+ 65081,
+ 'tortoiseshellbracketright',
+ 12309,
+ 'tortoiseshellbracketrightsmall',
+ 65118,
+ 'tortoiseshellbracketrightvertical',
+ 65082,
+ 'totaothai',
+ 3605,
+ 'tpalatalhook',
+ 427,
+ 'tparen',
+ 9391,
+ 'trademark',
+ 8482,
+ 'trademarksans',
+ 63722,
+ 'trademarkserif',
+ 63195,
+ 'tretroflexhook',
+ 648,
+ 'triagdn',
+ 9660,
+ 'triaglf',
+ 9668,
+ 'triagrt',
+ 9658,
+ 'triagup',
+ 9650,
+ 'ts',
+ 678,
+ 'tsadi',
+ 1510,
+ 'tsadidagesh',
+ 64326,
+ 'tsadidageshhebrew',
+ 64326,
+ 'tsadihebrew',
+ 1510,
+ 'tsecyrillic',
+ 1094,
+ 'tsere',
+ 1461,
+ 'tsere12',
+ 1461,
+ 'tsere1e',
+ 1461,
+ 'tsere2b',
+ 1461,
+ 'tserehebrew',
+ 1461,
+ 'tserenarrowhebrew',
+ 1461,
+ 'tserequarterhebrew',
+ 1461,
+ 'tserewidehebrew',
+ 1461,
+ 'tshecyrillic',
+ 1115,
+ 'tsuperior',
+ 63219,
+ 'ttabengali',
+ 2463,
+ 'ttadeva',
+ 2335,
+ 'ttagujarati',
+ 2719,
+ 'ttagurmukhi',
+ 2591,
+ 'tteharabic',
+ 1657,
+ 'ttehfinalarabic',
+ 64359,
+ 'ttehinitialarabic',
+ 64360,
+ 'ttehmedialarabic',
+ 64361,
+ 'tthabengali',
+ 2464,
+ 'tthadeva',
+ 2336,
+ 'tthagujarati',
+ 2720,
+ 'tthagurmukhi',
+ 2592,
+ 'tturned',
+ 647,
+ 'tuhiragana',
+ 12388,
+ 'tukatakana',
+ 12484,
+ 'tukatakanahalfwidth',
+ 65410,
+ 'tusmallhiragana',
+ 12387,
+ 'tusmallkatakana',
+ 12483,
+ 'tusmallkatakanahalfwidth',
+ 65391,
+ 'twelvecircle',
+ 9323,
+ 'twelveparen',
+ 9343,
+ 'twelveperiod',
+ 9363,
+ 'twelveroman',
+ 8571,
+ 'twentycircle',
+ 9331,
+ 'twentyhangzhou',
+ 21316,
+ 'twentyparen',
+ 9351,
+ 'twentyperiod',
+ 9371,
+ 'two',
+ 50,
+ 'twoarabic',
+ 1634,
+ 'twobengali',
+ 2536,
+ 'twocircle',
+ 9313,
+ 'twocircleinversesansserif',
+ 10123,
+ 'twodeva',
+ 2408,
+ 'twodotenleader',
+ 8229,
+ 'twodotleader',
+ 8229,
+ 'twodotleadervertical',
+ 65072,
+ 'twogujarati',
+ 2792,
+ 'twogurmukhi',
+ 2664,
+ 'twohackarabic',
+ 1634,
+ 'twohangzhou',
+ 12322,
+ 'twoideographicparen',
+ 12833,
+ 'twoinferior',
+ 8322,
+ 'twomonospace',
+ 65298,
+ 'twonumeratorbengali',
+ 2549,
+ 'twooldstyle',
+ 63282,
+ 'twoparen',
+ 9333,
+ 'twoperiod',
+ 9353,
+ 'twopersian',
+ 1778,
+ 'tworoman',
+ 8561,
+ 'twostroke',
+ 443,
+ 'twosuperior',
+ 178,
+ 'twothai',
+ 3666,
+ 'twothirds',
+ 8532,
+ 'u',
+ 117,
+ 'uacute',
+ 250,
+ 'ubar',
+ 649,
+ 'ubengali',
+ 2441,
+ 'ubopomofo',
+ 12584,
+ 'ubreve',
+ 365,
+ 'ucaron',
+ 468,
+ 'ucircle',
+ 9444,
+ 'ucircumflex',
+ 251,
+ 'ucircumflexbelow',
+ 7799,
+ 'ucyrillic',
+ 1091,
+ 'udattadeva',
+ 2385,
+ 'udblacute',
+ 369,
+ 'udblgrave',
+ 533,
+ 'udeva',
+ 2313,
+ 'udieresis',
+ 252,
+ 'udieresisacute',
+ 472,
+ 'udieresisbelow',
+ 7795,
+ 'udieresiscaron',
+ 474,
+ 'udieresiscyrillic',
+ 1265,
+ 'udieresisgrave',
+ 476,
+ 'udieresismacron',
+ 470,
+ 'udotbelow',
+ 7909,
+ 'ugrave',
+ 249,
+ 'ugujarati',
+ 2697,
+ 'ugurmukhi',
+ 2569,
+ 'uhiragana',
+ 12358,
+ 'uhookabove',
+ 7911,
+ 'uhorn',
+ 432,
+ 'uhornacute',
+ 7913,
+ 'uhorndotbelow',
+ 7921,
+ 'uhorngrave',
+ 7915,
+ 'uhornhookabove',
+ 7917,
+ 'uhorntilde',
+ 7919,
+ 'uhungarumlaut',
+ 369,
+ 'uhungarumlautcyrillic',
+ 1267,
+ 'uinvertedbreve',
+ 535,
+ 'ukatakana',
+ 12454,
+ 'ukatakanahalfwidth',
+ 65395,
+ 'ukcyrillic',
+ 1145,
+ 'ukorean',
+ 12636,
+ 'umacron',
+ 363,
+ 'umacroncyrillic',
+ 1263,
+ 'umacrondieresis',
+ 7803,
+ 'umatragurmukhi',
+ 2625,
+ 'umonospace',
+ 65365,
+ 'underscore',
+ 95,
+ 'underscoredbl',
+ 8215,
+ 'underscoremonospace',
+ 65343,
+ 'underscorevertical',
+ 65075,
+ 'underscorewavy',
+ 65103,
+ 'union',
+ 8746,
+ 'universal',
+ 8704,
+ 'uogonek',
+ 371,
+ 'uparen',
+ 9392,
+ 'upblock',
+ 9600,
+ 'upperdothebrew',
+ 1476,
+ 'upsilon',
+ 965,
+ 'upsilondieresis',
+ 971,
+ 'upsilondieresistonos',
+ 944,
+ 'upsilonlatin',
+ 650,
+ 'upsilontonos',
+ 973,
+ 'uptackbelowcmb',
+ 797,
+ 'uptackmod',
+ 724,
+ 'uragurmukhi',
+ 2675,
+ 'uring',
+ 367,
+ 'ushortcyrillic',
+ 1118,
+ 'usmallhiragana',
+ 12357,
+ 'usmallkatakana',
+ 12453,
+ 'usmallkatakanahalfwidth',
+ 65385,
+ 'ustraightcyrillic',
+ 1199,
+ 'ustraightstrokecyrillic',
+ 1201,
+ 'utilde',
+ 361,
+ 'utildeacute',
+ 7801,
+ 'utildebelow',
+ 7797,
+ 'uubengali',
+ 2442,
+ 'uudeva',
+ 2314,
+ 'uugujarati',
+ 2698,
+ 'uugurmukhi',
+ 2570,
+ 'uumatragurmukhi',
+ 2626,
+ 'uuvowelsignbengali',
+ 2498,
+ 'uuvowelsigndeva',
+ 2370,
+ 'uuvowelsigngujarati',
+ 2754,
+ 'uvowelsignbengali',
+ 2497,
+ 'uvowelsigndeva',
+ 2369,
+ 'uvowelsigngujarati',
+ 2753,
+ 'v',
+ 118,
+ 'vadeva',
+ 2357,
+ 'vagujarati',
+ 2741,
+ 'vagurmukhi',
+ 2613,
+ 'vakatakana',
+ 12535,
+ 'vav',
+ 1493,
+ 'vavdagesh',
+ 64309,
+ 'vavdagesh65',
+ 64309,
+ 'vavdageshhebrew',
+ 64309,
+ 'vavhebrew',
+ 1493,
+ 'vavholam',
+ 64331,
+ 'vavholamhebrew',
+ 64331,
+ 'vavvavhebrew',
+ 1520,
+ 'vavyodhebrew',
+ 1521,
+ 'vcircle',
+ 9445,
+ 'vdotbelow',
+ 7807,
+ 'vecyrillic',
+ 1074,
+ 'veharabic',
+ 1700,
+ 'vehfinalarabic',
+ 64363,
+ 'vehinitialarabic',
+ 64364,
+ 'vehmedialarabic',
+ 64365,
+ 'vekatakana',
+ 12537,
+ 'venus',
+ 9792,
+ 'verticalbar',
+ 124,
+ 'verticallineabovecmb',
+ 781,
+ 'verticallinebelowcmb',
+ 809,
+ 'verticallinelowmod',
+ 716,
+ 'verticallinemod',
+ 712,
+ 'vewarmenian',
+ 1406,
+ 'vhook',
+ 651,
+ 'vikatakana',
+ 12536,
+ 'viramabengali',
+ 2509,
+ 'viramadeva',
+ 2381,
+ 'viramagujarati',
+ 2765,
+ 'visargabengali',
+ 2435,
+ 'visargadeva',
+ 2307,
+ 'visargagujarati',
+ 2691,
+ 'vmonospace',
+ 65366,
+ 'voarmenian',
+ 1400,
+ 'voicediterationhiragana',
+ 12446,
+ 'voicediterationkatakana',
+ 12542,
+ 'voicedmarkkana',
+ 12443,
+ 'voicedmarkkanahalfwidth',
+ 65438,
+ 'vokatakana',
+ 12538,
+ 'vparen',
+ 9393,
+ 'vtilde',
+ 7805,
+ 'vturned',
+ 652,
+ 'vuhiragana',
+ 12436,
+ 'vukatakana',
+ 12532,
+ 'w',
+ 119,
+ 'wacute',
+ 7811,
+ 'waekorean',
+ 12633,
+ 'wahiragana',
+ 12431,
+ 'wakatakana',
+ 12527,
+ 'wakatakanahalfwidth',
+ 65436,
+ 'wakorean',
+ 12632,
+ 'wasmallhiragana',
+ 12430,
+ 'wasmallkatakana',
+ 12526,
+ 'wattosquare',
+ 13143,
+ 'wavedash',
+ 12316,
+ 'wavyunderscorevertical',
+ 65076,
+ 'wawarabic',
+ 1608,
+ 'wawfinalarabic',
+ 65262,
+ 'wawhamzaabovearabic',
+ 1572,
+ 'wawhamzaabovefinalarabic',
+ 65158,
+ 'wbsquare',
+ 13277,
+ 'wcircle',
+ 9446,
+ 'wcircumflex',
+ 373,
+ 'wdieresis',
+ 7813,
+ 'wdotaccent',
+ 7815,
+ 'wdotbelow',
+ 7817,
+ 'wehiragana',
+ 12433,
+ 'weierstrass',
+ 8472,
+ 'wekatakana',
+ 12529,
+ 'wekorean',
+ 12638,
+ 'weokorean',
+ 12637,
+ 'wgrave',
+ 7809,
+ 'whitebullet',
+ 9702,
+ 'whitecircle',
+ 9675,
+ 'whitecircleinverse',
+ 9689,
+ 'whitecornerbracketleft',
+ 12302,
+ 'whitecornerbracketleftvertical',
+ 65091,
+ 'whitecornerbracketright',
+ 12303,
+ 'whitecornerbracketrightvertical',
+ 65092,
+ 'whitediamond',
+ 9671,
+ 'whitediamondcontainingblacksmalldiamond',
+ 9672,
+ 'whitedownpointingsmalltriangle',
+ 9663,
+ 'whitedownpointingtriangle',
+ 9661,
+ 'whiteleftpointingsmalltriangle',
+ 9667,
+ 'whiteleftpointingtriangle',
+ 9665,
+ 'whitelenticularbracketleft',
+ 12310,
+ 'whitelenticularbracketright',
+ 12311,
+ 'whiterightpointingsmalltriangle',
+ 9657,
+ 'whiterightpointingtriangle',
+ 9655,
+ 'whitesmallsquare',
+ 9643,
+ 'whitesmilingface',
+ 9786,
+ 'whitesquare',
+ 9633,
+ 'whitestar',
+ 9734,
+ 'whitetelephone',
+ 9743,
+ 'whitetortoiseshellbracketleft',
+ 12312,
+ 'whitetortoiseshellbracketright',
+ 12313,
+ 'whiteuppointingsmalltriangle',
+ 9653,
+ 'whiteuppointingtriangle',
+ 9651,
+ 'wihiragana',
+ 12432,
+ 'wikatakana',
+ 12528,
+ 'wikorean',
+ 12639,
+ 'wmonospace',
+ 65367,
+ 'wohiragana',
+ 12434,
+ 'wokatakana',
+ 12530,
+ 'wokatakanahalfwidth',
+ 65382,
+ 'won',
+ 8361,
+ 'wonmonospace',
+ 65510,
+ 'wowaenthai',
+ 3623,
+ 'wparen',
+ 9394,
+ 'wring',
+ 7832,
+ 'wsuperior',
+ 695,
+ 'wturned',
+ 653,
+ 'wynn',
+ 447,
+ 'x',
+ 120,
+ 'xabovecmb',
+ 829,
+ 'xbopomofo',
+ 12562,
+ 'xcircle',
+ 9447,
+ 'xdieresis',
+ 7821,
+ 'xdotaccent',
+ 7819,
+ 'xeharmenian',
+ 1389,
+ 'xi',
+ 958,
+ 'xmonospace',
+ 65368,
+ 'xparen',
+ 9395,
+ 'xsuperior',
+ 739,
+ 'y',
+ 121,
+ 'yaadosquare',
+ 13134,
+ 'yabengali',
+ 2479,
+ 'yacute',
+ 253,
+ 'yadeva',
+ 2351,
+ 'yaekorean',
+ 12626,
+ 'yagujarati',
+ 2735,
+ 'yagurmukhi',
+ 2607,
+ 'yahiragana',
+ 12420,
+ 'yakatakana',
+ 12516,
+ 'yakatakanahalfwidth',
+ 65428,
+ 'yakorean',
+ 12625,
+ 'yamakkanthai',
+ 3662,
+ 'yasmallhiragana',
+ 12419,
+ 'yasmallkatakana',
+ 12515,
+ 'yasmallkatakanahalfwidth',
+ 65388,
+ 'yatcyrillic',
+ 1123,
+ 'ycircle',
+ 9448,
+ 'ycircumflex',
+ 375,
+ 'ydieresis',
+ 255,
+ 'ydotaccent',
+ 7823,
+ 'ydotbelow',
+ 7925,
+ 'yeharabic',
+ 1610,
+ 'yehbarreearabic',
+ 1746,
+ 'yehbarreefinalarabic',
+ 64431,
+ 'yehfinalarabic',
+ 65266,
+ 'yehhamzaabovearabic',
+ 1574,
+ 'yehhamzaabovefinalarabic',
+ 65162,
+ 'yehhamzaaboveinitialarabic',
+ 65163,
+ 'yehhamzaabovemedialarabic',
+ 65164,
+ 'yehinitialarabic',
+ 65267,
+ 'yehmedialarabic',
+ 65268,
+ 'yehmeeminitialarabic',
+ 64733,
+ 'yehmeemisolatedarabic',
+ 64600,
+ 'yehnoonfinalarabic',
+ 64660,
+ 'yehthreedotsbelowarabic',
+ 1745,
+ 'yekorean',
+ 12630,
+ 'yen',
+ 165,
+ 'yenmonospace',
+ 65509,
+ 'yeokorean',
+ 12629,
+ 'yeorinhieuhkorean',
+ 12678,
+ 'yerahbenyomohebrew',
+ 1450,
+ 'yerahbenyomolefthebrew',
+ 1450,
+ 'yericyrillic',
+ 1099,
+ 'yerudieresiscyrillic',
+ 1273,
+ 'yesieungkorean',
+ 12673,
+ 'yesieungpansioskorean',
+ 12675,
+ 'yesieungsioskorean',
+ 12674,
+ 'yetivhebrew',
+ 1434,
+ 'ygrave',
+ 7923,
+ 'yhook',
+ 436,
+ 'yhookabove',
+ 7927,
+ 'yiarmenian',
+ 1397,
+ 'yicyrillic',
+ 1111,
+ 'yikorean',
+ 12642,
+ 'yinyang',
+ 9775,
+ 'yiwnarmenian',
+ 1410,
+ 'ymonospace',
+ 65369,
+ 'yod',
+ 1497,
+ 'yoddagesh',
+ 64313,
+ 'yoddageshhebrew',
+ 64313,
+ 'yodhebrew',
+ 1497,
+ 'yodyodhebrew',
+ 1522,
+ 'yodyodpatahhebrew',
+ 64287,
+ 'yohiragana',
+ 12424,
+ 'yoikorean',
+ 12681,
+ 'yokatakana',
+ 12520,
+ 'yokatakanahalfwidth',
+ 65430,
+ 'yokorean',
+ 12635,
+ 'yosmallhiragana',
+ 12423,
+ 'yosmallkatakana',
+ 12519,
+ 'yosmallkatakanahalfwidth',
+ 65390,
+ 'yotgreek',
+ 1011,
+ 'yoyaekorean',
+ 12680,
+ 'yoyakorean',
+ 12679,
+ 'yoyakthai',
+ 3618,
+ 'yoyingthai',
+ 3597,
+ 'yparen',
+ 9396,
+ 'ypogegrammeni',
+ 890,
+ 'ypogegrammenigreekcmb',
+ 837,
+ 'yr',
+ 422,
+ 'yring',
+ 7833,
+ 'ysuperior',
+ 696,
+ 'ytilde',
+ 7929,
+ 'yturned',
+ 654,
+ 'yuhiragana',
+ 12422,
+ 'yuikorean',
+ 12684,
+ 'yukatakana',
+ 12518,
+ 'yukatakanahalfwidth',
+ 65429,
+ 'yukorean',
+ 12640,
+ 'yusbigcyrillic',
+ 1131,
+ 'yusbigiotifiedcyrillic',
+ 1133,
+ 'yuslittlecyrillic',
+ 1127,
+ 'yuslittleiotifiedcyrillic',
+ 1129,
+ 'yusmallhiragana',
+ 12421,
+ 'yusmallkatakana',
+ 12517,
+ 'yusmallkatakanahalfwidth',
+ 65389,
+ 'yuyekorean',
+ 12683,
+ 'yuyeokorean',
+ 12682,
+ 'yyabengali',
+ 2527,
+ 'yyadeva',
+ 2399,
+ 'z',
+ 122,
+ 'zaarmenian',
+ 1382,
+ 'zacute',
+ 378,
+ 'zadeva',
+ 2395,
+ 'zagurmukhi',
+ 2651,
+ 'zaharabic',
+ 1592,
+ 'zahfinalarabic',
+ 65222,
+ 'zahinitialarabic',
+ 65223,
+ 'zahiragana',
+ 12374,
+ 'zahmedialarabic',
+ 65224,
+ 'zainarabic',
+ 1586,
+ 'zainfinalarabic',
+ 65200,
+ 'zakatakana',
+ 12470,
+ 'zaqefgadolhebrew',
+ 1429,
+ 'zaqefqatanhebrew',
+ 1428,
+ 'zarqahebrew',
+ 1432,
+ 'zayin',
+ 1494,
+ 'zayindagesh',
+ 64310,
+ 'zayindageshhebrew',
+ 64310,
+ 'zayinhebrew',
+ 1494,
+ 'zbopomofo',
+ 12567,
+ 'zcaron',
+ 382,
+ 'zcircle',
+ 9449,
+ 'zcircumflex',
+ 7825,
+ 'zcurl',
+ 657,
+ 'zdot',
+ 380,
+ 'zdotaccent',
+ 380,
+ 'zdotbelow',
+ 7827,
+ 'zecyrillic',
+ 1079,
+ 'zedescendercyrillic',
+ 1177,
+ 'zedieresiscyrillic',
+ 1247,
+ 'zehiragana',
+ 12380,
+ 'zekatakana',
+ 12476,
+ 'zero',
+ 48,
+ 'zeroarabic',
+ 1632,
+ 'zerobengali',
+ 2534,
+ 'zerodeva',
+ 2406,
+ 'zerogujarati',
+ 2790,
+ 'zerogurmukhi',
+ 2662,
+ 'zerohackarabic',
+ 1632,
+ 'zeroinferior',
+ 8320,
+ 'zeromonospace',
+ 65296,
+ 'zerooldstyle',
+ 63280,
+ 'zeropersian',
+ 1776,
+ 'zerosuperior',
+ 8304,
+ 'zerothai',
+ 3664,
+ 'zerowidthjoiner',
+ 65279,
+ 'zerowidthnonjoiner',
+ 8204,
+ 'zerowidthspace',
+ 8203,
+ 'zeta',
+ 950,
+ 'zhbopomofo',
+ 12563,
+ 'zhearmenian',
+ 1386,
+ 'zhebrevecyrillic',
+ 1218,
+ 'zhecyrillic',
+ 1078,
+ 'zhedescendercyrillic',
+ 1175,
+ 'zhedieresiscyrillic',
+ 1245,
+ 'zihiragana',
+ 12376,
+ 'zikatakana',
+ 12472,
+ 'zinorhebrew',
+ 1454,
+ 'zlinebelow',
+ 7829,
+ 'zmonospace',
+ 65370,
+ 'zohiragana',
+ 12382,
+ 'zokatakana',
+ 12478,
+ 'zparen',
+ 9397,
+ 'zretroflexhook',
+ 656,
+ 'zstroke',
+ 438,
+ 'zuhiragana',
+ 12378,
+ 'zukatakana',
+ 12474,
+ '.notdef',
+ 0,
+ 'angbracketleftbig',
+ 9001,
+ 'angbracketleftBig',
+ 9001,
+ 'angbracketleftbigg',
+ 9001,
+ 'angbracketleftBigg',
+ 9001,
+ 'angbracketrightBig',
+ 9002,
+ 'angbracketrightbig',
+ 9002,
+ 'angbracketrightBigg',
+ 9002,
+ 'angbracketrightbigg',
+ 9002,
+ 'arrowhookleft',
+ 8618,
+ 'arrowhookright',
+ 8617,
+ 'arrowlefttophalf',
+ 8636,
+ 'arrowleftbothalf',
+ 8637,
+ 'arrownortheast',
+ 8599,
+ 'arrownorthwest',
+ 8598,
+ 'arrowrighttophalf',
+ 8640,
+ 'arrowrightbothalf',
+ 8641,
+ 'arrowsoutheast',
+ 8600,
+ 'arrowsouthwest',
+ 8601,
+ 'backslashbig',
+ 8726,
+ 'backslashBig',
+ 8726,
+ 'backslashBigg',
+ 8726,
+ 'backslashbigg',
+ 8726,
+ 'bardbl',
+ 8214,
+ 'bracehtipdownleft',
+ 65079,
+ 'bracehtipdownright',
+ 65079,
+ 'bracehtipupleft',
+ 65080,
+ 'bracehtipupright',
+ 65080,
+ 'braceleftBig',
+ 123,
+ 'braceleftbig',
+ 123,
+ 'braceleftbigg',
+ 123,
+ 'braceleftBigg',
+ 123,
+ 'bracerightBig',
+ 125,
+ 'bracerightbig',
+ 125,
+ 'bracerightbigg',
+ 125,
+ 'bracerightBigg',
+ 125,
+ 'bracketleftbig',
+ 91,
+ 'bracketleftBig',
+ 91,
+ 'bracketleftbigg',
+ 91,
+ 'bracketleftBigg',
+ 91,
+ 'bracketrightBig',
+ 93,
+ 'bracketrightbig',
+ 93,
+ 'bracketrightbigg',
+ 93,
+ 'bracketrightBigg',
+ 93,
+ 'ceilingleftbig',
+ 8968,
+ 'ceilingleftBig',
+ 8968,
+ 'ceilingleftBigg',
+ 8968,
+ 'ceilingleftbigg',
+ 8968,
+ 'ceilingrightbig',
+ 8969,
+ 'ceilingrightBig',
+ 8969,
+ 'ceilingrightbigg',
+ 8969,
+ 'ceilingrightBigg',
+ 8969,
+ 'circledotdisplay',
+ 8857,
+ 'circledottext',
+ 8857,
+ 'circlemultiplydisplay',
+ 8855,
+ 'circlemultiplytext',
+ 8855,
+ 'circleplusdisplay',
+ 8853,
+ 'circleplustext',
+ 8853,
+ 'contintegraldisplay',
+ 8750,
+ 'contintegraltext',
+ 8750,
+ 'coproductdisplay',
+ 8720,
+ 'coproducttext',
+ 8720,
+ 'floorleftBig',
+ 8970,
+ 'floorleftbig',
+ 8970,
+ 'floorleftbigg',
+ 8970,
+ 'floorleftBigg',
+ 8970,
+ 'floorrightbig',
+ 8971,
+ 'floorrightBig',
+ 8971,
+ 'floorrightBigg',
+ 8971,
+ 'floorrightbigg',
+ 8971,
+ 'hatwide',
+ 770,
+ 'hatwider',
+ 770,
+ 'hatwidest',
+ 770,
+ 'intercal',
+ 7488,
+ 'integraldisplay',
+ 8747,
+ 'integraltext',
+ 8747,
+ 'intersectiondisplay',
+ 8898,
+ 'intersectiontext',
+ 8898,
+ 'logicalanddisplay',
+ 8743,
+ 'logicalandtext',
+ 8743,
+ 'logicalordisplay',
+ 8744,
+ 'logicalortext',
+ 8744,
+ 'parenleftBig',
+ 40,
+ 'parenleftbig',
+ 40,
+ 'parenleftBigg',
+ 40,
+ 'parenleftbigg',
+ 40,
+ 'parenrightBig',
+ 41,
+ 'parenrightbig',
+ 41,
+ 'parenrightBigg',
+ 41,
+ 'parenrightbigg',
+ 41,
+ 'prime',
+ 8242,
+ 'productdisplay',
+ 8719,
+ 'producttext',
+ 8719,
+ 'radicalbig',
+ 8730,
+ 'radicalBig',
+ 8730,
+ 'radicalBigg',
+ 8730,
+ 'radicalbigg',
+ 8730,
+ 'radicalbt',
+ 8730,
+ 'radicaltp',
+ 8730,
+ 'radicalvertex',
+ 8730,
+ 'slashbig',
+ 47,
+ 'slashBig',
+ 47,
+ 'slashBigg',
+ 47,
+ 'slashbigg',
+ 47,
+ 'summationdisplay',
+ 8721,
+ 'summationtext',
+ 8721,
+ 'tildewide',
+ 732,
+ 'tildewider',
+ 732,
+ 'tildewidest',
+ 732,
+ 'uniondisplay',
+ 8899,
+ 'unionmultidisplay',
+ 8846,
+ 'unionmultitext',
+ 8846,
+ 'unionsqdisplay',
+ 8852,
+ 'unionsqtext',
+ 8852,
+ 'uniontext',
+ 8899,
+ 'vextenddouble',
+ 8741,
+ 'vextendsingle',
+ 8739,
+ ];
+ }),
+ i = (0, r.getArrayLookupTableFactory)(function () {
+ return [
+ 'space',
+ 32,
+ 'a1',
+ 9985,
+ 'a2',
+ 9986,
+ 'a202',
+ 9987,
+ 'a3',
+ 9988,
+ 'a4',
+ 9742,
+ 'a5',
+ 9990,
+ 'a119',
+ 9991,
+ 'a118',
+ 9992,
+ 'a117',
+ 9993,
+ 'a11',
+ 9755,
+ 'a12',
+ 9758,
+ 'a13',
+ 9996,
+ 'a14',
+ 9997,
+ 'a15',
+ 9998,
+ 'a16',
+ 9999,
+ 'a105',
+ 1e4,
+ 'a17',
+ 10001,
+ 'a18',
+ 10002,
+ 'a19',
+ 10003,
+ 'a20',
+ 10004,
+ 'a21',
+ 10005,
+ 'a22',
+ 10006,
+ 'a23',
+ 10007,
+ 'a24',
+ 10008,
+ 'a25',
+ 10009,
+ 'a26',
+ 10010,
+ 'a27',
+ 10011,
+ 'a28',
+ 10012,
+ 'a6',
+ 10013,
+ 'a7',
+ 10014,
+ 'a8',
+ 10015,
+ 'a9',
+ 10016,
+ 'a10',
+ 10017,
+ 'a29',
+ 10018,
+ 'a30',
+ 10019,
+ 'a31',
+ 10020,
+ 'a32',
+ 10021,
+ 'a33',
+ 10022,
+ 'a34',
+ 10023,
+ 'a35',
+ 9733,
+ 'a36',
+ 10025,
+ 'a37',
+ 10026,
+ 'a38',
+ 10027,
+ 'a39',
+ 10028,
+ 'a40',
+ 10029,
+ 'a41',
+ 10030,
+ 'a42',
+ 10031,
+ 'a43',
+ 10032,
+ 'a44',
+ 10033,
+ 'a45',
+ 10034,
+ 'a46',
+ 10035,
+ 'a47',
+ 10036,
+ 'a48',
+ 10037,
+ 'a49',
+ 10038,
+ 'a50',
+ 10039,
+ 'a51',
+ 10040,
+ 'a52',
+ 10041,
+ 'a53',
+ 10042,
+ 'a54',
+ 10043,
+ 'a55',
+ 10044,
+ 'a56',
+ 10045,
+ 'a57',
+ 10046,
+ 'a58',
+ 10047,
+ 'a59',
+ 10048,
+ 'a60',
+ 10049,
+ 'a61',
+ 10050,
+ 'a62',
+ 10051,
+ 'a63',
+ 10052,
+ 'a64',
+ 10053,
+ 'a65',
+ 10054,
+ 'a66',
+ 10055,
+ 'a67',
+ 10056,
+ 'a68',
+ 10057,
+ 'a69',
+ 10058,
+ 'a70',
+ 10059,
+ 'a71',
+ 9679,
+ 'a72',
+ 10061,
+ 'a73',
+ 9632,
+ 'a74',
+ 10063,
+ 'a203',
+ 10064,
+ 'a75',
+ 10065,
+ 'a204',
+ 10066,
+ 'a76',
+ 9650,
+ 'a77',
+ 9660,
+ 'a78',
+ 9670,
+ 'a79',
+ 10070,
+ 'a81',
+ 9687,
+ 'a82',
+ 10072,
+ 'a83',
+ 10073,
+ 'a84',
+ 10074,
+ 'a97',
+ 10075,
+ 'a98',
+ 10076,
+ 'a99',
+ 10077,
+ 'a100',
+ 10078,
+ 'a101',
+ 10081,
+ 'a102',
+ 10082,
+ 'a103',
+ 10083,
+ 'a104',
+ 10084,
+ 'a106',
+ 10085,
+ 'a107',
+ 10086,
+ 'a108',
+ 10087,
+ 'a112',
+ 9827,
+ 'a111',
+ 9830,
+ 'a110',
+ 9829,
+ 'a109',
+ 9824,
+ 'a120',
+ 9312,
+ 'a121',
+ 9313,
+ 'a122',
+ 9314,
+ 'a123',
+ 9315,
+ 'a124',
+ 9316,
+ 'a125',
+ 9317,
+ 'a126',
+ 9318,
+ 'a127',
+ 9319,
+ 'a128',
+ 9320,
+ 'a129',
+ 9321,
+ 'a130',
+ 10102,
+ 'a131',
+ 10103,
+ 'a132',
+ 10104,
+ 'a133',
+ 10105,
+ 'a134',
+ 10106,
+ 'a135',
+ 10107,
+ 'a136',
+ 10108,
+ 'a137',
+ 10109,
+ 'a138',
+ 10110,
+ 'a139',
+ 10111,
+ 'a140',
+ 10112,
+ 'a141',
+ 10113,
+ 'a142',
+ 10114,
+ 'a143',
+ 10115,
+ 'a144',
+ 10116,
+ 'a145',
+ 10117,
+ 'a146',
+ 10118,
+ 'a147',
+ 10119,
+ 'a148',
+ 10120,
+ 'a149',
+ 10121,
+ 'a150',
+ 10122,
+ 'a151',
+ 10123,
+ 'a152',
+ 10124,
+ 'a153',
+ 10125,
+ 'a154',
+ 10126,
+ 'a155',
+ 10127,
+ 'a156',
+ 10128,
+ 'a157',
+ 10129,
+ 'a158',
+ 10130,
+ 'a159',
+ 10131,
+ 'a160',
+ 10132,
+ 'a161',
+ 8594,
+ 'a163',
+ 8596,
+ 'a164',
+ 8597,
+ 'a196',
+ 10136,
+ 'a165',
+ 10137,
+ 'a192',
+ 10138,
+ 'a166',
+ 10139,
+ 'a167',
+ 10140,
+ 'a168',
+ 10141,
+ 'a169',
+ 10142,
+ 'a170',
+ 10143,
+ 'a171',
+ 10144,
+ 'a172',
+ 10145,
+ 'a173',
+ 10146,
+ 'a162',
+ 10147,
+ 'a174',
+ 10148,
+ 'a175',
+ 10149,
+ 'a176',
+ 10150,
+ 'a177',
+ 10151,
+ 'a178',
+ 10152,
+ 'a179',
+ 10153,
+ 'a193',
+ 10154,
+ 'a180',
+ 10155,
+ 'a199',
+ 10156,
+ 'a181',
+ 10157,
+ 'a200',
+ 10158,
+ 'a182',
+ 10159,
+ 'a201',
+ 10161,
+ 'a183',
+ 10162,
+ 'a184',
+ 10163,
+ 'a197',
+ 10164,
+ 'a185',
+ 10165,
+ 'a194',
+ 10166,
+ 'a198',
+ 10167,
+ 'a186',
+ 10168,
+ 'a195',
+ 10169,
+ 'a187',
+ 10170,
+ 'a188',
+ 10171,
+ 'a189',
+ 10172,
+ 'a190',
+ 10173,
+ 'a191',
+ 10174,
+ 'a89',
+ 10088,
+ 'a90',
+ 10089,
+ 'a93',
+ 10090,
+ 'a94',
+ 10091,
+ 'a91',
+ 10092,
+ 'a92',
+ 10093,
+ 'a205',
+ 10094,
+ 'a85',
+ 10095,
+ 'a206',
+ 10096,
+ 'a86',
+ 10097,
+ 'a87',
+ 10098,
+ 'a88',
+ 10099,
+ 'a95',
+ 10100,
+ 'a96',
+ 10101,
+ '.notdef',
+ 0,
+ ];
+ });
+ },
+ (e, t, a) => {
+ a.r(t);
+ a.d(t, {
+ clearUnicodeCaches: () => clearUnicodeCaches,
+ getCharUnicodeCategory: () => getCharUnicodeCategory,
+ getNormalizedUnicodes: () => s,
+ getUnicodeForGlyph: () => getUnicodeForGlyph,
+ getUnicodeRangeFor: () => getUnicodeRangeFor,
+ mapSpecialUnicodeValues: () => mapSpecialUnicodeValues,
+ reverseIfRtl: () => reverseIfRtl,
+ });
+ var r = a(6);
+ const n = (0, r.getLookupTableFactory)(function (e) {
+ e[63721] = 169;
+ e[63193] = 169;
+ e[63720] = 174;
+ e[63194] = 174;
+ e[63722] = 8482;
+ e[63195] = 8482;
+ e[63729] = 9127;
+ e[63730] = 9128;
+ e[63731] = 9129;
+ e[63740] = 9131;
+ e[63741] = 9132;
+ e[63742] = 9133;
+ e[63726] = 9121;
+ e[63727] = 9122;
+ e[63728] = 9123;
+ e[63737] = 9124;
+ e[63738] = 9125;
+ e[63739] = 9126;
+ e[63723] = 9115;
+ e[63724] = 9116;
+ e[63725] = 9117;
+ e[63734] = 9118;
+ e[63735] = 9119;
+ e[63736] = 9120;
+ });
+ function mapSpecialUnicodeValues(e) {
+ return e >= 65520 && e <= 65535 ? 0 : e >= 62976 && e <= 63743 ? n()[e] || e : 173 === e ? 45 : e;
+ }
+ function getUnicodeForGlyph(e, t) {
+ let a = t[e];
+ if (void 0 !== a) return a;
+ if (!e) return -1;
+ if ('u' === e[0]) {
+ const t = e.length;
+ let r;
+ if (7 === t && 'n' === e[1] && 'i' === e[2]) r = e.substring(3);
+ else {
+ if (!(t >= 5 && t <= 7)) return -1;
+ r = e.substring(1);
+ }
+ if (r === r.toUpperCase()) {
+ a = parseInt(r, 16);
+ if (a >= 0) return a;
+ }
+ }
+ return -1;
+ }
+ const i = [
+ {begin: 0, end: 127},
+ {begin: 128, end: 255},
+ {begin: 256, end: 383},
+ {begin: 384, end: 591},
+ {begin: 592, end: 687},
+ {begin: 688, end: 767},
+ {begin: 768, end: 879},
+ {begin: 880, end: 1023},
+ {begin: 11392, end: 11519},
+ {begin: 1024, end: 1279},
+ {begin: 1328, end: 1423},
+ {begin: 1424, end: 1535},
+ {begin: 42240, end: 42559},
+ {begin: 1536, end: 1791},
+ {begin: 1984, end: 2047},
+ {begin: 2304, end: 2431},
+ {begin: 2432, end: 2559},
+ {begin: 2560, end: 2687},
+ {begin: 2688, end: 2815},
+ {begin: 2816, end: 2943},
+ {begin: 2944, end: 3071},
+ {begin: 3072, end: 3199},
+ {begin: 3200, end: 3327},
+ {begin: 3328, end: 3455},
+ {begin: 3584, end: 3711},
+ {begin: 3712, end: 3839},
+ {begin: 4256, end: 4351},
+ {begin: 6912, end: 7039},
+ {begin: 4352, end: 4607},
+ {begin: 7680, end: 7935},
+ {begin: 7936, end: 8191},
+ {begin: 8192, end: 8303},
+ {begin: 8304, end: 8351},
+ {begin: 8352, end: 8399},
+ {begin: 8400, end: 8447},
+ {begin: 8448, end: 8527},
+ {begin: 8528, end: 8591},
+ {begin: 8592, end: 8703},
+ {begin: 8704, end: 8959},
+ {begin: 8960, end: 9215},
+ {begin: 9216, end: 9279},
+ {begin: 9280, end: 9311},
+ {begin: 9312, end: 9471},
+ {begin: 9472, end: 9599},
+ {begin: 9600, end: 9631},
+ {begin: 9632, end: 9727},
+ {begin: 9728, end: 9983},
+ {begin: 9984, end: 10175},
+ {begin: 12288, end: 12351},
+ {begin: 12352, end: 12447},
+ {begin: 12448, end: 12543},
+ {begin: 12544, end: 12591},
+ {begin: 12592, end: 12687},
+ {begin: 43072, end: 43135},
+ {begin: 12800, end: 13055},
+ {begin: 13056, end: 13311},
+ {begin: 44032, end: 55215},
+ {begin: 55296, end: 57343},
+ {begin: 67840, end: 67871},
+ {begin: 19968, end: 40959},
+ {begin: 57344, end: 63743},
+ {begin: 12736, end: 12783},
+ {begin: 64256, end: 64335},
+ {begin: 64336, end: 65023},
+ {begin: 65056, end: 65071},
+ {begin: 65040, end: 65055},
+ {begin: 65104, end: 65135},
+ {begin: 65136, end: 65279},
+ {begin: 65280, end: 65519},
+ {begin: 65520, end: 65535},
+ {begin: 3840, end: 4095},
+ {begin: 1792, end: 1871},
+ {begin: 1920, end: 1983},
+ {begin: 3456, end: 3583},
+ {begin: 4096, end: 4255},
+ {begin: 4608, end: 4991},
+ {begin: 5024, end: 5119},
+ {begin: 5120, end: 5759},
+ {begin: 5760, end: 5791},
+ {begin: 5792, end: 5887},
+ {begin: 6016, end: 6143},
+ {begin: 6144, end: 6319},
+ {begin: 10240, end: 10495},
+ {begin: 40960, end: 42127},
+ {begin: 5888, end: 5919},
+ {begin: 66304, end: 66351},
+ {begin: 66352, end: 66383},
+ {begin: 66560, end: 66639},
+ {begin: 118784, end: 119039},
+ {begin: 119808, end: 120831},
+ {begin: 1044480, end: 1048573},
+ {begin: 65024, end: 65039},
+ {begin: 917504, end: 917631},
+ {begin: 6400, end: 6479},
+ {begin: 6480, end: 6527},
+ {begin: 6528, end: 6623},
+ {begin: 6656, end: 6687},
+ {begin: 11264, end: 11359},
+ {begin: 11568, end: 11647},
+ {begin: 19904, end: 19967},
+ {begin: 43008, end: 43055},
+ {begin: 65536, end: 65663},
+ {begin: 65856, end: 65935},
+ {begin: 66432, end: 66463},
+ {begin: 66464, end: 66527},
+ {begin: 66640, end: 66687},
+ {begin: 66688, end: 66735},
+ {begin: 67584, end: 67647},
+ {begin: 68096, end: 68191},
+ {begin: 119552, end: 119647},
+ {begin: 73728, end: 74751},
+ {begin: 119648, end: 119679},
+ {begin: 7040, end: 7103},
+ {begin: 7168, end: 7247},
+ {begin: 7248, end: 7295},
+ {begin: 43136, end: 43231},
+ {begin: 43264, end: 43311},
+ {begin: 43312, end: 43359},
+ {begin: 43520, end: 43615},
+ {begin: 65936, end: 65999},
+ {begin: 66e3, end: 66047},
+ {begin: 66208, end: 66271},
+ {begin: 127024, end: 127135},
+ ];
+ function getUnicodeRangeFor(e) {
+ for (let t = 0, a = i.length; t < a; t++) {
+ const a = i[t];
+ if (e >= a.begin && e < a.end) return t;
+ }
+ return -1;
+ }
+ const s = (0, r.getArrayLookupTableFactory)(function () {
+ return [
+ '¨',
+ ' ̈',
+ '¯',
+ ' ̄',
+ '´',
+ ' ́',
+ 'µ',
+ 'μ',
+ '¸',
+ ' ̧',
+ 'IJ',
+ 'IJ',
+ 'ij',
+ 'ij',
+ 'Ŀ',
+ 'L·',
+ 'ŀ',
+ 'l·',
+ 'ʼn',
+ 'ʼn',
+ 'ſ',
+ 's',
+ 'DŽ',
+ 'DŽ',
+ 'Dž',
+ 'Dž',
+ 'dž',
+ 'dž',
+ 'LJ',
+ 'LJ',
+ 'Lj',
+ 'Lj',
+ 'lj',
+ 'lj',
+ 'NJ',
+ 'NJ',
+ 'Nj',
+ 'Nj',
+ 'nj',
+ 'nj',
+ 'DZ',
+ 'DZ',
+ 'Dz',
+ 'Dz',
+ 'dz',
+ 'dz',
+ '˘',
+ ' ̆',
+ '˙',
+ ' ̇',
+ '˚',
+ ' ̊',
+ '˛',
+ ' ̨',
+ '˜',
+ ' ̃',
+ '˝',
+ ' ̋',
+ 'ͺ',
+ ' ͅ',
+ '΄',
+ ' ́',
+ 'ϐ',
+ 'β',
+ 'ϑ',
+ 'θ',
+ 'ϒ',
+ 'Υ',
+ 'ϕ',
+ 'φ',
+ 'ϖ',
+ 'π',
+ 'ϰ',
+ 'κ',
+ 'ϱ',
+ 'ρ',
+ 'ϲ',
+ 'ς',
+ 'ϴ',
+ 'Θ',
+ 'ϵ',
+ 'ε',
+ 'Ϲ',
+ 'Σ',
+ 'և',
+ 'եւ',
+ 'ٵ',
+ 'اٴ',
+ 'ٶ',
+ 'وٴ',
+ 'ٷ',
+ 'ۇٴ',
+ 'ٸ',
+ 'يٴ',
+ 'ำ',
+ 'ํา',
+ 'ຳ',
+ 'ໍາ',
+ 'ໜ',
+ 'ຫນ',
+ 'ໝ',
+ 'ຫມ',
+ 'ཷ',
+ 'ྲཱྀ',
+ 'ཹ',
+ 'ླཱྀ',
+ 'ẚ',
+ 'aʾ',
+ '᾽',
+ ' ̓',
+ '᾿',
+ ' ̓',
+ '῀',
+ ' ͂',
+ '῾',
+ ' ̔',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ '‗',
+ ' ̳',
+ '․',
+ '.',
+ '‥',
+ '..',
+ '…',
+ '...',
+ '″',
+ '′′',
+ '‴',
+ '′′′',
+ '‶',
+ '‵‵',
+ '‷',
+ '‵‵‵',
+ '‼',
+ '!!',
+ '‾',
+ ' ̅',
+ '⁇',
+ '??',
+ '⁈',
+ '?!',
+ '⁉',
+ '!?',
+ '⁗',
+ '′′′′',
+ ' ',
+ ' ',
+ '₨',
+ 'Rs',
+ '℀',
+ 'a/c',
+ '℁',
+ 'a/s',
+ '℃',
+ '°C',
+ '℅',
+ 'c/o',
+ '℆',
+ 'c/u',
+ 'ℇ',
+ 'Ɛ',
+ '℉',
+ '°F',
+ '№',
+ 'No',
+ '℡',
+ 'TEL',
+ 'ℵ',
+ 'א',
+ 'ℶ',
+ 'ב',
+ 'ℷ',
+ 'ג',
+ 'ℸ',
+ 'ד',
+ '℻',
+ 'FAX',
+ 'Ⅰ',
+ 'I',
+ 'Ⅱ',
+ 'II',
+ 'Ⅲ',
+ 'III',
+ 'Ⅳ',
+ 'IV',
+ 'Ⅴ',
+ 'V',
+ 'Ⅵ',
+ 'VI',
+ 'Ⅶ',
+ 'VII',
+ 'Ⅷ',
+ 'VIII',
+ 'Ⅸ',
+ 'IX',
+ 'Ⅹ',
+ 'X',
+ 'Ⅺ',
+ 'XI',
+ 'Ⅻ',
+ 'XII',
+ 'Ⅼ',
+ 'L',
+ 'Ⅽ',
+ 'C',
+ 'Ⅾ',
+ 'D',
+ 'Ⅿ',
+ 'M',
+ 'ⅰ',
+ 'i',
+ 'ⅱ',
+ 'ii',
+ 'ⅲ',
+ 'iii',
+ 'ⅳ',
+ 'iv',
+ 'ⅴ',
+ 'v',
+ 'ⅵ',
+ 'vi',
+ 'ⅶ',
+ 'vii',
+ 'ⅷ',
+ 'viii',
+ 'ⅸ',
+ 'ix',
+ 'ⅹ',
+ 'x',
+ 'ⅺ',
+ 'xi',
+ 'ⅻ',
+ 'xii',
+ 'ⅼ',
+ 'l',
+ 'ⅽ',
+ 'c',
+ 'ⅾ',
+ 'd',
+ 'ⅿ',
+ 'm',
+ '∬',
+ '∫∫',
+ '∭',
+ '∫∫∫',
+ '∯',
+ '∮∮',
+ '∰',
+ '∮∮∮',
+ '⑴',
+ '(1)',
+ '⑵',
+ '(2)',
+ '⑶',
+ '(3)',
+ '⑷',
+ '(4)',
+ '⑸',
+ '(5)',
+ '⑹',
+ '(6)',
+ '⑺',
+ '(7)',
+ '⑻',
+ '(8)',
+ '⑼',
+ '(9)',
+ '⑽',
+ '(10)',
+ '⑾',
+ '(11)',
+ '⑿',
+ '(12)',
+ '⒀',
+ '(13)',
+ '⒁',
+ '(14)',
+ '⒂',
+ '(15)',
+ '⒃',
+ '(16)',
+ '⒄',
+ '(17)',
+ '⒅',
+ '(18)',
+ '⒆',
+ '(19)',
+ '⒇',
+ '(20)',
+ '⒈',
+ '1.',
+ '⒉',
+ '2.',
+ '⒊',
+ '3.',
+ '⒋',
+ '4.',
+ '⒌',
+ '5.',
+ '⒍',
+ '6.',
+ '⒎',
+ '7.',
+ '⒏',
+ '8.',
+ '⒐',
+ '9.',
+ '⒑',
+ '10.',
+ '⒒',
+ '11.',
+ '⒓',
+ '12.',
+ '⒔',
+ '13.',
+ '⒕',
+ '14.',
+ '⒖',
+ '15.',
+ '⒗',
+ '16.',
+ '⒘',
+ '17.',
+ '⒙',
+ '18.',
+ '⒚',
+ '19.',
+ '⒛',
+ '20.',
+ '⒜',
+ '(a)',
+ '⒝',
+ '(b)',
+ '⒞',
+ '(c)',
+ '⒟',
+ '(d)',
+ '⒠',
+ '(e)',
+ '⒡',
+ '(f)',
+ '⒢',
+ '(g)',
+ '⒣',
+ '(h)',
+ '⒤',
+ '(i)',
+ '⒥',
+ '(j)',
+ '⒦',
+ '(k)',
+ '⒧',
+ '(l)',
+ '⒨',
+ '(m)',
+ '⒩',
+ '(n)',
+ '⒪',
+ '(o)',
+ '⒫',
+ '(p)',
+ '⒬',
+ '(q)',
+ '⒭',
+ '(r)',
+ '⒮',
+ '(s)',
+ '⒯',
+ '(t)',
+ '⒰',
+ '(u)',
+ '⒱',
+ '(v)',
+ '⒲',
+ '(w)',
+ '⒳',
+ '(x)',
+ '⒴',
+ '(y)',
+ '⒵',
+ '(z)',
+ '⨌',
+ '∫∫∫∫',
+ '⩴',
+ '::=',
+ '⩵',
+ '==',
+ '⩶',
+ '===',
+ '⺟',
+ '母',
+ '⻳',
+ '龟',
+ '⼀',
+ '一',
+ '⼁',
+ '丨',
+ '⼂',
+ '丶',
+ '⼃',
+ '丿',
+ '⼄',
+ '乙',
+ '⼅',
+ '亅',
+ '⼆',
+ '二',
+ '⼇',
+ '亠',
+ '⼈',
+ '人',
+ '⼉',
+ '儿',
+ '⼊',
+ '入',
+ '⼋',
+ '八',
+ '⼌',
+ '冂',
+ '⼍',
+ '冖',
+ '⼎',
+ '冫',
+ '⼏',
+ '几',
+ '⼐',
+ '凵',
+ '⼑',
+ '刀',
+ '⼒',
+ '力',
+ '⼓',
+ '勹',
+ '⼔',
+ '匕',
+ '⼕',
+ '匚',
+ '⼖',
+ '匸',
+ '⼗',
+ '十',
+ '⼘',
+ '卜',
+ '⼙',
+ '卩',
+ '⼚',
+ '厂',
+ '⼛',
+ '厶',
+ '⼜',
+ '又',
+ '⼝',
+ '口',
+ '⼞',
+ '囗',
+ '⼟',
+ '土',
+ '⼠',
+ '士',
+ '⼡',
+ '夂',
+ '⼢',
+ '夊',
+ '⼣',
+ '夕',
+ '⼤',
+ '大',
+ '⼥',
+ '女',
+ '⼦',
+ '子',
+ '⼧',
+ '宀',
+ '⼨',
+ '寸',
+ '⼩',
+ '小',
+ '⼪',
+ '尢',
+ '⼫',
+ '尸',
+ '⼬',
+ '屮',
+ '⼭',
+ '山',
+ '⼮',
+ '巛',
+ '⼯',
+ '工',
+ '⼰',
+ '己',
+ '⼱',
+ '巾',
+ '⼲',
+ '干',
+ '⼳',
+ '幺',
+ '⼴',
+ '广',
+ '⼵',
+ '廴',
+ '⼶',
+ '廾',
+ '⼷',
+ '弋',
+ '⼸',
+ '弓',
+ '⼹',
+ '彐',
+ '⼺',
+ '彡',
+ '⼻',
+ '彳',
+ '⼼',
+ '心',
+ '⼽',
+ '戈',
+ '⼾',
+ '戶',
+ '⼿',
+ '手',
+ '⽀',
+ '支',
+ '⽁',
+ '攴',
+ '⽂',
+ '文',
+ '⽃',
+ '斗',
+ '⽄',
+ '斤',
+ '⽅',
+ '方',
+ '⽆',
+ '无',
+ '⽇',
+ '日',
+ '⽈',
+ '曰',
+ '⽉',
+ '月',
+ '⽊',
+ '木',
+ '⽋',
+ '欠',
+ '⽌',
+ '止',
+ '⽍',
+ '歹',
+ '⽎',
+ '殳',
+ '⽏',
+ '毋',
+ '⽐',
+ '比',
+ '⽑',
+ '毛',
+ '⽒',
+ '氏',
+ '⽓',
+ '气',
+ '⽔',
+ '水',
+ '⽕',
+ '火',
+ '⽖',
+ '爪',
+ '⽗',
+ '父',
+ '⽘',
+ '爻',
+ '⽙',
+ '爿',
+ '⽚',
+ '片',
+ '⽛',
+ '牙',
+ '⽜',
+ '牛',
+ '⽝',
+ '犬',
+ '⽞',
+ '玄',
+ '⽟',
+ '玉',
+ '⽠',
+ '瓜',
+ '⽡',
+ '瓦',
+ '⽢',
+ '甘',
+ '⽣',
+ '生',
+ '⽤',
+ '用',
+ '⽥',
+ '田',
+ '⽦',
+ '疋',
+ '⽧',
+ '疒',
+ '⽨',
+ '癶',
+ '⽩',
+ '白',
+ '⽪',
+ '皮',
+ '⽫',
+ '皿',
+ '⽬',
+ '目',
+ '⽭',
+ '矛',
+ '⽮',
+ '矢',
+ '⽯',
+ '石',
+ '⽰',
+ '示',
+ '⽱',
+ '禸',
+ '⽲',
+ '禾',
+ '⽳',
+ '穴',
+ '⽴',
+ '立',
+ '⽵',
+ '竹',
+ '⽶',
+ '米',
+ '⽷',
+ '糸',
+ '⽸',
+ '缶',
+ '⽹',
+ '网',
+ '⽺',
+ '羊',
+ '⽻',
+ '羽',
+ '⽼',
+ '老',
+ '⽽',
+ '而',
+ '⽾',
+ '耒',
+ '⽿',
+ '耳',
+ '⾀',
+ '聿',
+ '⾁',
+ '肉',
+ '⾂',
+ '臣',
+ '⾃',
+ '自',
+ '⾄',
+ '至',
+ '⾅',
+ '臼',
+ '⾆',
+ '舌',
+ '⾇',
+ '舛',
+ '⾈',
+ '舟',
+ '⾉',
+ '艮',
+ '⾊',
+ '色',
+ '⾋',
+ '艸',
+ '⾌',
+ '虍',
+ '⾍',
+ '虫',
+ '⾎',
+ '血',
+ '⾏',
+ '行',
+ '⾐',
+ '衣',
+ '⾑',
+ '襾',
+ '⾒',
+ '見',
+ '⾓',
+ '角',
+ '⾔',
+ '言',
+ '⾕',
+ '谷',
+ '⾖',
+ '豆',
+ '⾗',
+ '豕',
+ '⾘',
+ '豸',
+ '⾙',
+ '貝',
+ '⾚',
+ '赤',
+ '⾛',
+ '走',
+ '⾜',
+ '足',
+ '⾝',
+ '身',
+ '⾞',
+ '車',
+ '⾟',
+ '辛',
+ '⾠',
+ '辰',
+ '⾡',
+ '辵',
+ '⾢',
+ '邑',
+ '⾣',
+ '酉',
+ '⾤',
+ '釆',
+ '⾥',
+ '里',
+ '⾦',
+ '金',
+ '⾧',
+ '長',
+ '⾨',
+ '門',
+ '⾩',
+ '阜',
+ '⾪',
+ '隶',
+ '⾫',
+ '隹',
+ '⾬',
+ '雨',
+ '⾭',
+ '靑',
+ '⾮',
+ '非',
+ '⾯',
+ '面',
+ '⾰',
+ '革',
+ '⾱',
+ '韋',
+ '⾲',
+ '韭',
+ '⾳',
+ '音',
+ '⾴',
+ '頁',
+ '⾵',
+ '風',
+ '⾶',
+ '飛',
+ '⾷',
+ '食',
+ '⾸',
+ '首',
+ '⾹',
+ '香',
+ '⾺',
+ '馬',
+ '⾻',
+ '骨',
+ '⾼',
+ '高',
+ '⾽',
+ '髟',
+ '⾾',
+ '鬥',
+ '⾿',
+ '鬯',
+ '⿀',
+ '鬲',
+ '⿁',
+ '鬼',
+ '⿂',
+ '魚',
+ '⿃',
+ '鳥',
+ '⿄',
+ '鹵',
+ '⿅',
+ '鹿',
+ '⿆',
+ '麥',
+ '⿇',
+ '麻',
+ '⿈',
+ '黃',
+ '⿉',
+ '黍',
+ '⿊',
+ '黑',
+ '⿋',
+ '黹',
+ '⿌',
+ '黽',
+ '⿍',
+ '鼎',
+ '⿎',
+ '鼓',
+ '⿏',
+ '鼠',
+ '⿐',
+ '鼻',
+ '⿑',
+ '齊',
+ '⿒',
+ '齒',
+ '⿓',
+ '龍',
+ '⿔',
+ '龜',
+ '⿕',
+ '龠',
+ '〶',
+ '〒',
+ '〸',
+ '十',
+ '〹',
+ '卄',
+ '〺',
+ '卅',
+ '゛',
+ ' ゙',
+ '゜',
+ ' ゚',
+ 'ㄱ',
+ 'ᄀ',
+ 'ㄲ',
+ 'ᄁ',
+ 'ㄳ',
+ 'ᆪ',
+ 'ㄴ',
+ 'ᄂ',
+ 'ㄵ',
+ 'ᆬ',
+ 'ㄶ',
+ 'ᆭ',
+ 'ㄷ',
+ 'ᄃ',
+ 'ㄸ',
+ 'ᄄ',
+ 'ㄹ',
+ 'ᄅ',
+ 'ㄺ',
+ 'ᆰ',
+ 'ㄻ',
+ 'ᆱ',
+ 'ㄼ',
+ 'ᆲ',
+ 'ㄽ',
+ 'ᆳ',
+ 'ㄾ',
+ 'ᆴ',
+ 'ㄿ',
+ 'ᆵ',
+ 'ㅀ',
+ 'ᄚ',
+ 'ㅁ',
+ 'ᄆ',
+ 'ㅂ',
+ 'ᄇ',
+ 'ㅃ',
+ 'ᄈ',
+ 'ㅄ',
+ 'ᄡ',
+ 'ㅅ',
+ 'ᄉ',
+ 'ㅆ',
+ 'ᄊ',
+ 'ㅇ',
+ 'ᄋ',
+ 'ㅈ',
+ 'ᄌ',
+ 'ㅉ',
+ 'ᄍ',
+ 'ㅊ',
+ 'ᄎ',
+ 'ㅋ',
+ 'ᄏ',
+ 'ㅌ',
+ 'ᄐ',
+ 'ㅍ',
+ 'ᄑ',
+ 'ㅎ',
+ 'ᄒ',
+ 'ㅏ',
+ 'ᅡ',
+ 'ㅐ',
+ 'ᅢ',
+ 'ㅑ',
+ 'ᅣ',
+ 'ㅒ',
+ 'ᅤ',
+ 'ㅓ',
+ 'ᅥ',
+ 'ㅔ',
+ 'ᅦ',
+ 'ㅕ',
+ 'ᅧ',
+ 'ㅖ',
+ 'ᅨ',
+ 'ㅗ',
+ 'ᅩ',
+ 'ㅘ',
+ 'ᅪ',
+ 'ㅙ',
+ 'ᅫ',
+ 'ㅚ',
+ 'ᅬ',
+ 'ㅛ',
+ 'ᅭ',
+ 'ㅜ',
+ 'ᅮ',
+ 'ㅝ',
+ 'ᅯ',
+ 'ㅞ',
+ 'ᅰ',
+ 'ㅟ',
+ 'ᅱ',
+ 'ㅠ',
+ 'ᅲ',
+ 'ㅡ',
+ 'ᅳ',
+ 'ㅢ',
+ 'ᅴ',
+ 'ㅣ',
+ 'ᅵ',
+ 'ㅤ',
+ 'ᅠ',
+ 'ㅥ',
+ 'ᄔ',
+ 'ㅦ',
+ 'ᄕ',
+ 'ㅧ',
+ 'ᇇ',
+ 'ㅨ',
+ 'ᇈ',
+ 'ㅩ',
+ 'ᇌ',
+ 'ㅪ',
+ 'ᇎ',
+ 'ㅫ',
+ 'ᇓ',
+ 'ㅬ',
+ 'ᇗ',
+ 'ㅭ',
+ 'ᇙ',
+ 'ㅮ',
+ 'ᄜ',
+ 'ㅯ',
+ 'ᇝ',
+ 'ㅰ',
+ 'ᇟ',
+ 'ㅱ',
+ 'ᄝ',
+ 'ㅲ',
+ 'ᄞ',
+ 'ㅳ',
+ 'ᄠ',
+ 'ㅴ',
+ 'ᄢ',
+ 'ㅵ',
+ 'ᄣ',
+ 'ㅶ',
+ 'ᄧ',
+ 'ㅷ',
+ 'ᄩ',
+ 'ㅸ',
+ 'ᄫ',
+ 'ㅹ',
+ 'ᄬ',
+ 'ㅺ',
+ 'ᄭ',
+ 'ㅻ',
+ 'ᄮ',
+ 'ㅼ',
+ 'ᄯ',
+ 'ㅽ',
+ 'ᄲ',
+ 'ㅾ',
+ 'ᄶ',
+ 'ㅿ',
+ 'ᅀ',
+ 'ㆀ',
+ 'ᅇ',
+ 'ㆁ',
+ 'ᅌ',
+ 'ㆂ',
+ 'ᇱ',
+ 'ㆃ',
+ 'ᇲ',
+ 'ㆄ',
+ 'ᅗ',
+ 'ㆅ',
+ 'ᅘ',
+ 'ㆆ',
+ 'ᅙ',
+ 'ㆇ',
+ 'ᆄ',
+ 'ㆈ',
+ 'ᆅ',
+ 'ㆉ',
+ 'ᆈ',
+ 'ㆊ',
+ 'ᆑ',
+ 'ㆋ',
+ 'ᆒ',
+ 'ㆌ',
+ 'ᆔ',
+ 'ㆍ',
+ 'ᆞ',
+ 'ㆎ',
+ 'ᆡ',
+ '㈀',
+ '(ᄀ)',
+ '㈁',
+ '(ᄂ)',
+ '㈂',
+ '(ᄃ)',
+ '㈃',
+ '(ᄅ)',
+ '㈄',
+ '(ᄆ)',
+ '㈅',
+ '(ᄇ)',
+ '㈆',
+ '(ᄉ)',
+ '㈇',
+ '(ᄋ)',
+ '㈈',
+ '(ᄌ)',
+ '㈉',
+ '(ᄎ)',
+ '㈊',
+ '(ᄏ)',
+ '㈋',
+ '(ᄐ)',
+ '㈌',
+ '(ᄑ)',
+ '㈍',
+ '(ᄒ)',
+ '㈎',
+ '(가)',
+ '㈏',
+ '(나)',
+ '㈐',
+ '(다)',
+ '㈑',
+ '(라)',
+ '㈒',
+ '(마)',
+ '㈓',
+ '(바)',
+ '㈔',
+ '(사)',
+ '㈕',
+ '(아)',
+ '㈖',
+ '(자)',
+ '㈗',
+ '(차)',
+ '㈘',
+ '(카)',
+ '㈙',
+ '(타)',
+ '㈚',
+ '(파)',
+ '㈛',
+ '(하)',
+ '㈜',
+ '(주)',
+ '㈝',
+ '(오전)',
+ '㈞',
+ '(오후)',
+ '㈠',
+ '(一)',
+ '㈡',
+ '(二)',
+ '㈢',
+ '(三)',
+ '㈣',
+ '(四)',
+ '㈤',
+ '(五)',
+ '㈥',
+ '(六)',
+ '㈦',
+ '(七)',
+ '㈧',
+ '(八)',
+ '㈨',
+ '(九)',
+ '㈩',
+ '(十)',
+ '㈪',
+ '(月)',
+ '㈫',
+ '(火)',
+ '㈬',
+ '(水)',
+ '㈭',
+ '(木)',
+ '㈮',
+ '(金)',
+ '㈯',
+ '(土)',
+ '㈰',
+ '(日)',
+ '㈱',
+ '(株)',
+ '㈲',
+ '(有)',
+ '㈳',
+ '(社)',
+ '㈴',
+ '(名)',
+ '㈵',
+ '(特)',
+ '㈶',
+ '(財)',
+ '㈷',
+ '(祝)',
+ '㈸',
+ '(労)',
+ '㈹',
+ '(代)',
+ '㈺',
+ '(呼)',
+ '㈻',
+ '(学)',
+ '㈼',
+ '(監)',
+ '㈽',
+ '(企)',
+ '㈾',
+ '(資)',
+ '㈿',
+ '(協)',
+ '㉀',
+ '(祭)',
+ '㉁',
+ '(休)',
+ '㉂',
+ '(自)',
+ '㉃',
+ '(至)',
+ '㋀',
+ '1月',
+ '㋁',
+ '2月',
+ '㋂',
+ '3月',
+ '㋃',
+ '4月',
+ '㋄',
+ '5月',
+ '㋅',
+ '6月',
+ '㋆',
+ '7月',
+ '㋇',
+ '8月',
+ '㋈',
+ '9月',
+ '㋉',
+ '10月',
+ '㋊',
+ '11月',
+ '㋋',
+ '12月',
+ '㍘',
+ '0点',
+ '㍙',
+ '1点',
+ '㍚',
+ '2点',
+ '㍛',
+ '3点',
+ '㍜',
+ '4点',
+ '㍝',
+ '5点',
+ '㍞',
+ '6点',
+ '㍟',
+ '7点',
+ '㍠',
+ '8点',
+ '㍡',
+ '9点',
+ '㍢',
+ '10点',
+ '㍣',
+ '11点',
+ '㍤',
+ '12点',
+ '㍥',
+ '13点',
+ '㍦',
+ '14点',
+ '㍧',
+ '15点',
+ '㍨',
+ '16点',
+ '㍩',
+ '17点',
+ '㍪',
+ '18点',
+ '㍫',
+ '19点',
+ '㍬',
+ '20点',
+ '㍭',
+ '21点',
+ '㍮',
+ '22点',
+ '㍯',
+ '23点',
+ '㍰',
+ '24点',
+ '㏠',
+ '1日',
+ '㏡',
+ '2日',
+ '㏢',
+ '3日',
+ '㏣',
+ '4日',
+ '㏤',
+ '5日',
+ '㏥',
+ '6日',
+ '㏦',
+ '7日',
+ '㏧',
+ '8日',
+ '㏨',
+ '9日',
+ '㏩',
+ '10日',
+ '㏪',
+ '11日',
+ '㏫',
+ '12日',
+ '㏬',
+ '13日',
+ '㏭',
+ '14日',
+ '㏮',
+ '15日',
+ '㏯',
+ '16日',
+ '㏰',
+ '17日',
+ '㏱',
+ '18日',
+ '㏲',
+ '19日',
+ '㏳',
+ '20日',
+ '㏴',
+ '21日',
+ '㏵',
+ '22日',
+ '㏶',
+ '23日',
+ '㏷',
+ '24日',
+ '㏸',
+ '25日',
+ '㏹',
+ '26日',
+ '㏺',
+ '27日',
+ '㏻',
+ '28日',
+ '㏼',
+ '29日',
+ '㏽',
+ '30日',
+ '㏾',
+ '31日',
+ 'ff',
+ 'ff',
+ 'fi',
+ 'fi',
+ 'fl',
+ 'fl',
+ 'ffi',
+ 'ffi',
+ 'ffl',
+ 'ffl',
+ 'ſt',
+ 'ſt',
+ 'st',
+ 'st',
+ 'ﬓ',
+ 'մն',
+ 'ﬔ',
+ 'մե',
+ 'ﬕ',
+ 'մի',
+ 'ﬖ',
+ 'վն',
+ 'ﬗ',
+ 'մխ',
+ 'ﭏ',
+ 'אל',
+ 'ﭐ',
+ 'ٱ',
+ 'ﭑ',
+ 'ٱ',
+ 'ﭒ',
+ 'ٻ',
+ 'ﭓ',
+ 'ٻ',
+ 'ﭔ',
+ 'ٻ',
+ 'ﭕ',
+ 'ٻ',
+ 'ﭖ',
+ 'پ',
+ 'ﭗ',
+ 'پ',
+ 'ﭘ',
+ 'پ',
+ 'ﭙ',
+ 'پ',
+ 'ﭚ',
+ 'ڀ',
+ 'ﭛ',
+ 'ڀ',
+ 'ﭜ',
+ 'ڀ',
+ 'ﭝ',
+ 'ڀ',
+ 'ﭞ',
+ 'ٺ',
+ 'ﭟ',
+ 'ٺ',
+ 'ﭠ',
+ 'ٺ',
+ 'ﭡ',
+ 'ٺ',
+ 'ﭢ',
+ 'ٿ',
+ 'ﭣ',
+ 'ٿ',
+ 'ﭤ',
+ 'ٿ',
+ 'ﭥ',
+ 'ٿ',
+ 'ﭦ',
+ 'ٹ',
+ 'ﭧ',
+ 'ٹ',
+ 'ﭨ',
+ 'ٹ',
+ 'ﭩ',
+ 'ٹ',
+ 'ﭪ',
+ 'ڤ',
+ 'ﭫ',
+ 'ڤ',
+ 'ﭬ',
+ 'ڤ',
+ 'ﭭ',
+ 'ڤ',
+ 'ﭮ',
+ 'ڦ',
+ 'ﭯ',
+ 'ڦ',
+ 'ﭰ',
+ 'ڦ',
+ 'ﭱ',
+ 'ڦ',
+ 'ﭲ',
+ 'ڄ',
+ 'ﭳ',
+ 'ڄ',
+ 'ﭴ',
+ 'ڄ',
+ 'ﭵ',
+ 'ڄ',
+ 'ﭶ',
+ 'ڃ',
+ 'ﭷ',
+ 'ڃ',
+ 'ﭸ',
+ 'ڃ',
+ 'ﭹ',
+ 'ڃ',
+ 'ﭺ',
+ 'چ',
+ 'ﭻ',
+ 'چ',
+ 'ﭼ',
+ 'چ',
+ 'ﭽ',
+ 'چ',
+ 'ﭾ',
+ 'ڇ',
+ 'ﭿ',
+ 'ڇ',
+ 'ﮀ',
+ 'ڇ',
+ 'ﮁ',
+ 'ڇ',
+ 'ﮂ',
+ 'ڍ',
+ 'ﮃ',
+ 'ڍ',
+ 'ﮄ',
+ 'ڌ',
+ 'ﮅ',
+ 'ڌ',
+ 'ﮆ',
+ 'ڎ',
+ 'ﮇ',
+ 'ڎ',
+ 'ﮈ',
+ 'ڈ',
+ 'ﮉ',
+ 'ڈ',
+ 'ﮊ',
+ 'ژ',
+ 'ﮋ',
+ 'ژ',
+ 'ﮌ',
+ 'ڑ',
+ 'ﮍ',
+ 'ڑ',
+ 'ﮎ',
+ 'ک',
+ 'ﮏ',
+ 'ک',
+ 'ﮐ',
+ 'ک',
+ 'ﮑ',
+ 'ک',
+ 'ﮒ',
+ 'گ',
+ 'ﮓ',
+ 'گ',
+ 'ﮔ',
+ 'گ',
+ 'ﮕ',
+ 'گ',
+ 'ﮖ',
+ 'ڳ',
+ 'ﮗ',
+ 'ڳ',
+ 'ﮘ',
+ 'ڳ',
+ 'ﮙ',
+ 'ڳ',
+ 'ﮚ',
+ 'ڱ',
+ 'ﮛ',
+ 'ڱ',
+ 'ﮜ',
+ 'ڱ',
+ 'ﮝ',
+ 'ڱ',
+ 'ﮞ',
+ 'ں',
+ 'ﮟ',
+ 'ں',
+ 'ﮠ',
+ 'ڻ',
+ 'ﮡ',
+ 'ڻ',
+ 'ﮢ',
+ 'ڻ',
+ 'ﮣ',
+ 'ڻ',
+ 'ﮤ',
+ 'ۀ',
+ 'ﮥ',
+ 'ۀ',
+ 'ﮦ',
+ 'ہ',
+ 'ﮧ',
+ 'ہ',
+ 'ﮨ',
+ 'ہ',
+ 'ﮩ',
+ 'ہ',
+ 'ﮪ',
+ 'ھ',
+ 'ﮫ',
+ 'ھ',
+ 'ﮬ',
+ 'ھ',
+ 'ﮭ',
+ 'ھ',
+ 'ﮮ',
+ 'ے',
+ 'ﮯ',
+ 'ے',
+ 'ﮰ',
+ 'ۓ',
+ 'ﮱ',
+ 'ۓ',
+ 'ﯓ',
+ 'ڭ',
+ 'ﯔ',
+ 'ڭ',
+ 'ﯕ',
+ 'ڭ',
+ 'ﯖ',
+ 'ڭ',
+ 'ﯗ',
+ 'ۇ',
+ 'ﯘ',
+ 'ۇ',
+ 'ﯙ',
+ 'ۆ',
+ 'ﯚ',
+ 'ۆ',
+ 'ﯛ',
+ 'ۈ',
+ 'ﯜ',
+ 'ۈ',
+ 'ﯝ',
+ 'ٷ',
+ 'ﯞ',
+ 'ۋ',
+ 'ﯟ',
+ 'ۋ',
+ 'ﯠ',
+ 'ۅ',
+ 'ﯡ',
+ 'ۅ',
+ 'ﯢ',
+ 'ۉ',
+ 'ﯣ',
+ 'ۉ',
+ 'ﯤ',
+ 'ې',
+ 'ﯥ',
+ 'ې',
+ 'ﯦ',
+ 'ې',
+ 'ﯧ',
+ 'ې',
+ 'ﯨ',
+ 'ى',
+ 'ﯩ',
+ 'ى',
+ 'ﯪ',
+ 'ئا',
+ 'ﯫ',
+ 'ئا',
+ 'ﯬ',
+ 'ئە',
+ 'ﯭ',
+ 'ئە',
+ 'ﯮ',
+ 'ئو',
+ 'ﯯ',
+ 'ئو',
+ 'ﯰ',
+ 'ئۇ',
+ 'ﯱ',
+ 'ئۇ',
+ 'ﯲ',
+ 'ئۆ',
+ 'ﯳ',
+ 'ئۆ',
+ 'ﯴ',
+ 'ئۈ',
+ 'ﯵ',
+ 'ئۈ',
+ 'ﯶ',
+ 'ئې',
+ 'ﯷ',
+ 'ئې',
+ 'ﯸ',
+ 'ئې',
+ 'ﯹ',
+ 'ئى',
+ 'ﯺ',
+ 'ئى',
+ 'ﯻ',
+ 'ئى',
+ 'ﯼ',
+ 'ی',
+ 'ﯽ',
+ 'ی',
+ 'ﯾ',
+ 'ی',
+ 'ﯿ',
+ 'ی',
+ 'ﰀ',
+ 'ئج',
+ 'ﰁ',
+ 'ئح',
+ 'ﰂ',
+ 'ئم',
+ 'ﰃ',
+ 'ئى',
+ 'ﰄ',
+ 'ئي',
+ 'ﰅ',
+ 'بج',
+ 'ﰆ',
+ 'بح',
+ 'ﰇ',
+ 'بخ',
+ 'ﰈ',
+ 'بم',
+ 'ﰉ',
+ 'بى',
+ 'ﰊ',
+ 'بي',
+ 'ﰋ',
+ 'تج',
+ 'ﰌ',
+ 'تح',
+ 'ﰍ',
+ 'تخ',
+ 'ﰎ',
+ 'تم',
+ 'ﰏ',
+ 'تى',
+ 'ﰐ',
+ 'تي',
+ 'ﰑ',
+ 'ثج',
+ 'ﰒ',
+ 'ثم',
+ 'ﰓ',
+ 'ثى',
+ 'ﰔ',
+ 'ثي',
+ 'ﰕ',
+ 'جح',
+ 'ﰖ',
+ 'جم',
+ 'ﰗ',
+ 'حج',
+ 'ﰘ',
+ 'حم',
+ 'ﰙ',
+ 'خج',
+ 'ﰚ',
+ 'خح',
+ 'ﰛ',
+ 'خم',
+ 'ﰜ',
+ 'سج',
+ 'ﰝ',
+ 'سح',
+ 'ﰞ',
+ 'سخ',
+ 'ﰟ',
+ 'سم',
+ 'ﰠ',
+ 'صح',
+ 'ﰡ',
+ 'صم',
+ 'ﰢ',
+ 'ضج',
+ 'ﰣ',
+ 'ضح',
+ 'ﰤ',
+ 'ضخ',
+ 'ﰥ',
+ 'ضم',
+ 'ﰦ',
+ 'طح',
+ 'ﰧ',
+ 'طم',
+ 'ﰨ',
+ 'ظم',
+ 'ﰩ',
+ 'عج',
+ 'ﰪ',
+ 'عم',
+ 'ﰫ',
+ 'غج',
+ 'ﰬ',
+ 'غم',
+ 'ﰭ',
+ 'فج',
+ 'ﰮ',
+ 'فح',
+ 'ﰯ',
+ 'فخ',
+ 'ﰰ',
+ 'فم',
+ 'ﰱ',
+ 'فى',
+ 'ﰲ',
+ 'في',
+ 'ﰳ',
+ 'قح',
+ 'ﰴ',
+ 'قم',
+ 'ﰵ',
+ 'قى',
+ 'ﰶ',
+ 'قي',
+ 'ﰷ',
+ 'كا',
+ 'ﰸ',
+ 'كج',
+ 'ﰹ',
+ 'كح',
+ 'ﰺ',
+ 'كخ',
+ 'ﰻ',
+ 'كل',
+ 'ﰼ',
+ 'كم',
+ 'ﰽ',
+ 'كى',
+ 'ﰾ',
+ 'كي',
+ 'ﰿ',
+ 'لج',
+ 'ﱀ',
+ 'لح',
+ 'ﱁ',
+ 'لخ',
+ 'ﱂ',
+ 'لم',
+ 'ﱃ',
+ 'لى',
+ 'ﱄ',
+ 'لي',
+ 'ﱅ',
+ 'مج',
+ 'ﱆ',
+ 'مح',
+ 'ﱇ',
+ 'مخ',
+ 'ﱈ',
+ 'مم',
+ 'ﱉ',
+ 'مى',
+ 'ﱊ',
+ 'مي',
+ 'ﱋ',
+ 'نج',
+ 'ﱌ',
+ 'نح',
+ 'ﱍ',
+ 'نخ',
+ 'ﱎ',
+ 'نم',
+ 'ﱏ',
+ 'نى',
+ 'ﱐ',
+ 'ني',
+ 'ﱑ',
+ 'هج',
+ 'ﱒ',
+ 'هم',
+ 'ﱓ',
+ 'هى',
+ 'ﱔ',
+ 'هي',
+ 'ﱕ',
+ 'يج',
+ 'ﱖ',
+ 'يح',
+ 'ﱗ',
+ 'يخ',
+ 'ﱘ',
+ 'يم',
+ 'ﱙ',
+ 'يى',
+ 'ﱚ',
+ 'يي',
+ 'ﱛ',
+ 'ذٰ',
+ 'ﱜ',
+ 'رٰ',
+ 'ﱝ',
+ 'ىٰ',
+ 'ﱞ',
+ ' ٌّ',
+ 'ﱟ',
+ ' ٍّ',
+ 'ﱠ',
+ ' َّ',
+ 'ﱡ',
+ ' ُّ',
+ 'ﱢ',
+ ' ِّ',
+ 'ﱣ',
+ ' ّٰ',
+ 'ﱤ',
+ 'ئر',
+ 'ﱥ',
+ 'ئز',
+ 'ﱦ',
+ 'ئم',
+ 'ﱧ',
+ 'ئن',
+ 'ﱨ',
+ 'ئى',
+ 'ﱩ',
+ 'ئي',
+ 'ﱪ',
+ 'بر',
+ 'ﱫ',
+ 'بز',
+ 'ﱬ',
+ 'بم',
+ 'ﱭ',
+ 'بن',
+ 'ﱮ',
+ 'بى',
+ 'ﱯ',
+ 'بي',
+ 'ﱰ',
+ 'تر',
+ 'ﱱ',
+ 'تز',
+ 'ﱲ',
+ 'تم',
+ 'ﱳ',
+ 'تن',
+ 'ﱴ',
+ 'تى',
+ 'ﱵ',
+ 'تي',
+ 'ﱶ',
+ 'ثر',
+ 'ﱷ',
+ 'ثز',
+ 'ﱸ',
+ 'ثم',
+ 'ﱹ',
+ 'ثن',
+ 'ﱺ',
+ 'ثى',
+ 'ﱻ',
+ 'ثي',
+ 'ﱼ',
+ 'فى',
+ 'ﱽ',
+ 'في',
+ 'ﱾ',
+ 'قى',
+ 'ﱿ',
+ 'قي',
+ 'ﲀ',
+ 'كا',
+ 'ﲁ',
+ 'كل',
+ 'ﲂ',
+ 'كم',
+ 'ﲃ',
+ 'كى',
+ 'ﲄ',
+ 'كي',
+ 'ﲅ',
+ 'لم',
+ 'ﲆ',
+ 'لى',
+ 'ﲇ',
+ 'لي',
+ 'ﲈ',
+ 'ما',
+ 'ﲉ',
+ 'مم',
+ 'ﲊ',
+ 'نر',
+ 'ﲋ',
+ 'نز',
+ 'ﲌ',
+ 'نم',
+ 'ﲍ',
+ 'نن',
+ 'ﲎ',
+ 'نى',
+ 'ﲏ',
+ 'ني',
+ 'ﲐ',
+ 'ىٰ',
+ 'ﲑ',
+ 'ير',
+ 'ﲒ',
+ 'يز',
+ 'ﲓ',
+ 'يم',
+ 'ﲔ',
+ 'ين',
+ 'ﲕ',
+ 'يى',
+ 'ﲖ',
+ 'يي',
+ 'ﲗ',
+ 'ئج',
+ 'ﲘ',
+ 'ئح',
+ 'ﲙ',
+ 'ئخ',
+ 'ﲚ',
+ 'ئم',
+ 'ﲛ',
+ 'ئه',
+ 'ﲜ',
+ 'بج',
+ 'ﲝ',
+ 'بح',
+ 'ﲞ',
+ 'بخ',
+ 'ﲟ',
+ 'بم',
+ 'ﲠ',
+ 'به',
+ 'ﲡ',
+ 'تج',
+ 'ﲢ',
+ 'تح',
+ 'ﲣ',
+ 'تخ',
+ 'ﲤ',
+ 'تم',
+ 'ﲥ',
+ 'ته',
+ 'ﲦ',
+ 'ثم',
+ 'ﲧ',
+ 'جح',
+ 'ﲨ',
+ 'جم',
+ 'ﲩ',
+ 'حج',
+ 'ﲪ',
+ 'حم',
+ 'ﲫ',
+ 'خج',
+ 'ﲬ',
+ 'خم',
+ 'ﲭ',
+ 'سج',
+ 'ﲮ',
+ 'سح',
+ 'ﲯ',
+ 'سخ',
+ 'ﲰ',
+ 'سم',
+ 'ﲱ',
+ 'صح',
+ 'ﲲ',
+ 'صخ',
+ 'ﲳ',
+ 'صم',
+ 'ﲴ',
+ 'ضج',
+ 'ﲵ',
+ 'ضح',
+ 'ﲶ',
+ 'ضخ',
+ 'ﲷ',
+ 'ضم',
+ 'ﲸ',
+ 'طح',
+ 'ﲹ',
+ 'ظم',
+ 'ﲺ',
+ 'عج',
+ 'ﲻ',
+ 'عم',
+ 'ﲼ',
+ 'غج',
+ 'ﲽ',
+ 'غم',
+ 'ﲾ',
+ 'فج',
+ 'ﲿ',
+ 'فح',
+ 'ﳀ',
+ 'فخ',
+ 'ﳁ',
+ 'فم',
+ 'ﳂ',
+ 'قح',
+ 'ﳃ',
+ 'قم',
+ 'ﳄ',
+ 'كج',
+ 'ﳅ',
+ 'كح',
+ 'ﳆ',
+ 'كخ',
+ 'ﳇ',
+ 'كل',
+ 'ﳈ',
+ 'كم',
+ 'ﳉ',
+ 'لج',
+ 'ﳊ',
+ 'لح',
+ 'ﳋ',
+ 'لخ',
+ 'ﳌ',
+ 'لم',
+ 'ﳍ',
+ 'له',
+ 'ﳎ',
+ 'مج',
+ 'ﳏ',
+ 'مح',
+ 'ﳐ',
+ 'مخ',
+ 'ﳑ',
+ 'مم',
+ 'ﳒ',
+ 'نج',
+ 'ﳓ',
+ 'نح',
+ 'ﳔ',
+ 'نخ',
+ 'ﳕ',
+ 'نم',
+ 'ﳖ',
+ 'نه',
+ 'ﳗ',
+ 'هج',
+ 'ﳘ',
+ 'هم',
+ 'ﳙ',
+ 'هٰ',
+ 'ﳚ',
+ 'يج',
+ 'ﳛ',
+ 'يح',
+ 'ﳜ',
+ 'يخ',
+ 'ﳝ',
+ 'يم',
+ 'ﳞ',
+ 'يه',
+ 'ﳟ',
+ 'ئم',
+ 'ﳠ',
+ 'ئه',
+ 'ﳡ',
+ 'بم',
+ 'ﳢ',
+ 'به',
+ 'ﳣ',
+ 'تم',
+ 'ﳤ',
+ 'ته',
+ 'ﳥ',
+ 'ثم',
+ 'ﳦ',
+ 'ثه',
+ 'ﳧ',
+ 'سم',
+ 'ﳨ',
+ 'سه',
+ 'ﳩ',
+ 'شم',
+ 'ﳪ',
+ 'شه',
+ 'ﳫ',
+ 'كل',
+ 'ﳬ',
+ 'كم',
+ 'ﳭ',
+ 'لم',
+ 'ﳮ',
+ 'نم',
+ 'ﳯ',
+ 'نه',
+ 'ﳰ',
+ 'يم',
+ 'ﳱ',
+ 'يه',
+ 'ﳲ',
+ 'ـَّ',
+ 'ﳳ',
+ 'ـُّ',
+ 'ﳴ',
+ 'ـِّ',
+ 'ﳵ',
+ 'طى',
+ 'ﳶ',
+ 'طي',
+ 'ﳷ',
+ 'عى',
+ 'ﳸ',
+ 'عي',
+ 'ﳹ',
+ 'غى',
+ 'ﳺ',
+ 'غي',
+ 'ﳻ',
+ 'سى',
+ 'ﳼ',
+ 'سي',
+ 'ﳽ',
+ 'شى',
+ 'ﳾ',
+ 'شي',
+ 'ﳿ',
+ 'حى',
+ 'ﴀ',
+ 'حي',
+ 'ﴁ',
+ 'جى',
+ 'ﴂ',
+ 'جي',
+ 'ﴃ',
+ 'خى',
+ 'ﴄ',
+ 'خي',
+ 'ﴅ',
+ 'صى',
+ 'ﴆ',
+ 'صي',
+ 'ﴇ',
+ 'ضى',
+ 'ﴈ',
+ 'ضي',
+ 'ﴉ',
+ 'شج',
+ 'ﴊ',
+ 'شح',
+ 'ﴋ',
+ 'شخ',
+ 'ﴌ',
+ 'شم',
+ 'ﴍ',
+ 'شر',
+ 'ﴎ',
+ 'سر',
+ 'ﴏ',
+ 'صر',
+ 'ﴐ',
+ 'ضر',
+ 'ﴑ',
+ 'طى',
+ 'ﴒ',
+ 'طي',
+ 'ﴓ',
+ 'عى',
+ 'ﴔ',
+ 'عي',
+ 'ﴕ',
+ 'غى',
+ 'ﴖ',
+ 'غي',
+ 'ﴗ',
+ 'سى',
+ 'ﴘ',
+ 'سي',
+ 'ﴙ',
+ 'شى',
+ 'ﴚ',
+ 'شي',
+ 'ﴛ',
+ 'حى',
+ 'ﴜ',
+ 'حي',
+ 'ﴝ',
+ 'جى',
+ 'ﴞ',
+ 'جي',
+ 'ﴟ',
+ 'خى',
+ 'ﴠ',
+ 'خي',
+ 'ﴡ',
+ 'صى',
+ 'ﴢ',
+ 'صي',
+ 'ﴣ',
+ 'ضى',
+ 'ﴤ',
+ 'ضي',
+ 'ﴥ',
+ 'شج',
+ 'ﴦ',
+ 'شح',
+ 'ﴧ',
+ 'شخ',
+ 'ﴨ',
+ 'شم',
+ 'ﴩ',
+ 'شر',
+ 'ﴪ',
+ 'سر',
+ 'ﴫ',
+ 'صر',
+ 'ﴬ',
+ 'ضر',
+ 'ﴭ',
+ 'شج',
+ 'ﴮ',
+ 'شح',
+ 'ﴯ',
+ 'شخ',
+ 'ﴰ',
+ 'شم',
+ 'ﴱ',
+ 'سه',
+ 'ﴲ',
+ 'شه',
+ 'ﴳ',
+ 'طم',
+ 'ﴴ',
+ 'سج',
+ 'ﴵ',
+ 'سح',
+ 'ﴶ',
+ 'سخ',
+ 'ﴷ',
+ 'شج',
+ 'ﴸ',
+ 'شح',
+ 'ﴹ',
+ 'شخ',
+ 'ﴺ',
+ 'طم',
+ 'ﴻ',
+ 'ظم',
+ 'ﴼ',
+ 'اً',
+ 'ﴽ',
+ 'اً',
+ 'ﵐ',
+ 'تجم',
+ 'ﵑ',
+ 'تحج',
+ 'ﵒ',
+ 'تحج',
+ 'ﵓ',
+ 'تحم',
+ 'ﵔ',
+ 'تخم',
+ 'ﵕ',
+ 'تمج',
+ 'ﵖ',
+ 'تمح',
+ 'ﵗ',
+ 'تمخ',
+ 'ﵘ',
+ 'جمح',
+ 'ﵙ',
+ 'جمح',
+ 'ﵚ',
+ 'حمي',
+ 'ﵛ',
+ 'حمى',
+ 'ﵜ',
+ 'سحج',
+ 'ﵝ',
+ 'سجح',
+ 'ﵞ',
+ 'سجى',
+ 'ﵟ',
+ 'سمح',
+ 'ﵠ',
+ 'سمح',
+ 'ﵡ',
+ 'سمج',
+ 'ﵢ',
+ 'سمم',
+ 'ﵣ',
+ 'سمم',
+ 'ﵤ',
+ 'صحح',
+ 'ﵥ',
+ 'صحح',
+ 'ﵦ',
+ 'صمم',
+ 'ﵧ',
+ 'شحم',
+ 'ﵨ',
+ 'شحم',
+ 'ﵩ',
+ 'شجي',
+ 'ﵪ',
+ 'شمخ',
+ 'ﵫ',
+ 'شمخ',
+ 'ﵬ',
+ 'شمم',
+ 'ﵭ',
+ 'شمم',
+ 'ﵮ',
+ 'ضحى',
+ 'ﵯ',
+ 'ضخم',
+ 'ﵰ',
+ 'ضخم',
+ 'ﵱ',
+ 'طمح',
+ 'ﵲ',
+ 'طمح',
+ 'ﵳ',
+ 'طمم',
+ 'ﵴ',
+ 'طمي',
+ 'ﵵ',
+ 'عجم',
+ 'ﵶ',
+ 'عمم',
+ 'ﵷ',
+ 'عمم',
+ 'ﵸ',
+ 'عمى',
+ 'ﵹ',
+ 'غمم',
+ 'ﵺ',
+ 'غمي',
+ 'ﵻ',
+ 'غمى',
+ 'ﵼ',
+ 'فخم',
+ 'ﵽ',
+ 'فخم',
+ 'ﵾ',
+ 'قمح',
+ 'ﵿ',
+ 'قمم',
+ 'ﶀ',
+ 'لحم',
+ 'ﶁ',
+ 'لحي',
+ 'ﶂ',
+ 'لحى',
+ 'ﶃ',
+ 'لجج',
+ 'ﶄ',
+ 'لجج',
+ 'ﶅ',
+ 'لخم',
+ 'ﶆ',
+ 'لخم',
+ 'ﶇ',
+ 'لمح',
+ 'ﶈ',
+ 'لمح',
+ 'ﶉ',
+ 'محج',
+ 'ﶊ',
+ 'محم',
+ 'ﶋ',
+ 'محي',
+ 'ﶌ',
+ 'مجح',
+ 'ﶍ',
+ 'مجم',
+ 'ﶎ',
+ 'مخج',
+ 'ﶏ',
+ 'مخم',
+ 'ﶒ',
+ 'مجخ',
+ 'ﶓ',
+ 'همج',
+ 'ﶔ',
+ 'همم',
+ 'ﶕ',
+ 'نحم',
+ 'ﶖ',
+ 'نحى',
+ 'ﶗ',
+ 'نجم',
+ 'ﶘ',
+ 'نجم',
+ 'ﶙ',
+ 'نجى',
+ 'ﶚ',
+ 'نمي',
+ 'ﶛ',
+ 'نمى',
+ 'ﶜ',
+ 'يمم',
+ 'ﶝ',
+ 'يمم',
+ 'ﶞ',
+ 'بخي',
+ 'ﶟ',
+ 'تجي',
+ 'ﶠ',
+ 'تجى',
+ 'ﶡ',
+ 'تخي',
+ 'ﶢ',
+ 'تخى',
+ 'ﶣ',
+ 'تمي',
+ 'ﶤ',
+ 'تمى',
+ 'ﶥ',
+ 'جمي',
+ 'ﶦ',
+ 'جحى',
+ 'ﶧ',
+ 'جمى',
+ 'ﶨ',
+ 'سخى',
+ 'ﶩ',
+ 'صحي',
+ 'ﶪ',
+ 'شحي',
+ 'ﶫ',
+ 'ضحي',
+ 'ﶬ',
+ 'لجي',
+ 'ﶭ',
+ 'لمي',
+ 'ﶮ',
+ 'يحي',
+ 'ﶯ',
+ 'يجي',
+ 'ﶰ',
+ 'يمي',
+ 'ﶱ',
+ 'ممي',
+ 'ﶲ',
+ 'قمي',
+ 'ﶳ',
+ 'نحي',
+ 'ﶴ',
+ 'قمح',
+ 'ﶵ',
+ 'لحم',
+ 'ﶶ',
+ 'عمي',
+ 'ﶷ',
+ 'كمي',
+ 'ﶸ',
+ 'نجح',
+ 'ﶹ',
+ 'مخي',
+ 'ﶺ',
+ 'لجم',
+ 'ﶻ',
+ 'كمم',
+ 'ﶼ',
+ 'لجم',
+ 'ﶽ',
+ 'نجح',
+ 'ﶾ',
+ 'جحي',
+ 'ﶿ',
+ 'حجي',
+ 'ﷀ',
+ 'مجي',
+ 'ﷁ',
+ 'فمي',
+ 'ﷂ',
+ 'بحي',
+ 'ﷃ',
+ 'كمم',
+ 'ﷄ',
+ 'عجم',
+ 'ﷅ',
+ 'صمم',
+ 'ﷆ',
+ 'سخي',
+ 'ﷇ',
+ 'نجي',
+ '﹉',
+ '‾',
+ '﹊',
+ '‾',
+ '﹋',
+ '‾',
+ '﹌',
+ '‾',
+ '﹍',
+ '_',
+ '﹎',
+ '_',
+ '﹏',
+ '_',
+ 'ﺀ',
+ 'ء',
+ 'ﺁ',
+ 'آ',
+ 'ﺂ',
+ 'آ',
+ 'ﺃ',
+ 'أ',
+ 'ﺄ',
+ 'أ',
+ 'ﺅ',
+ 'ؤ',
+ 'ﺆ',
+ 'ؤ',
+ 'ﺇ',
+ 'إ',
+ 'ﺈ',
+ 'إ',
+ 'ﺉ',
+ 'ئ',
+ 'ﺊ',
+ 'ئ',
+ 'ﺋ',
+ 'ئ',
+ 'ﺌ',
+ 'ئ',
+ 'ﺍ',
+ 'ا',
+ 'ﺎ',
+ 'ا',
+ 'ﺏ',
+ 'ب',
+ 'ﺐ',
+ 'ب',
+ 'ﺑ',
+ 'ب',
+ 'ﺒ',
+ 'ب',
+ 'ﺓ',
+ 'ة',
+ 'ﺔ',
+ 'ة',
+ 'ﺕ',
+ 'ت',
+ 'ﺖ',
+ 'ت',
+ 'ﺗ',
+ 'ت',
+ 'ﺘ',
+ 'ت',
+ 'ﺙ',
+ 'ث',
+ 'ﺚ',
+ 'ث',
+ 'ﺛ',
+ 'ث',
+ 'ﺜ',
+ 'ث',
+ 'ﺝ',
+ 'ج',
+ 'ﺞ',
+ 'ج',
+ 'ﺟ',
+ 'ج',
+ 'ﺠ',
+ 'ج',
+ 'ﺡ',
+ 'ح',
+ 'ﺢ',
+ 'ح',
+ 'ﺣ',
+ 'ح',
+ 'ﺤ',
+ 'ح',
+ 'ﺥ',
+ 'خ',
+ 'ﺦ',
+ 'خ',
+ 'ﺧ',
+ 'خ',
+ 'ﺨ',
+ 'خ',
+ 'ﺩ',
+ 'د',
+ 'ﺪ',
+ 'د',
+ 'ﺫ',
+ 'ذ',
+ 'ﺬ',
+ 'ذ',
+ 'ﺭ',
+ 'ر',
+ 'ﺮ',
+ 'ر',
+ 'ﺯ',
+ 'ز',
+ 'ﺰ',
+ 'ز',
+ 'ﺱ',
+ 'س',
+ 'ﺲ',
+ 'س',
+ 'ﺳ',
+ 'س',
+ 'ﺴ',
+ 'س',
+ 'ﺵ',
+ 'ش',
+ 'ﺶ',
+ 'ش',
+ 'ﺷ',
+ 'ش',
+ 'ﺸ',
+ 'ش',
+ 'ﺹ',
+ 'ص',
+ 'ﺺ',
+ 'ص',
+ 'ﺻ',
+ 'ص',
+ 'ﺼ',
+ 'ص',
+ 'ﺽ',
+ 'ض',
+ 'ﺾ',
+ 'ض',
+ 'ﺿ',
+ 'ض',
+ 'ﻀ',
+ 'ض',
+ 'ﻁ',
+ 'ط',
+ 'ﻂ',
+ 'ط',
+ 'ﻃ',
+ 'ط',
+ 'ﻄ',
+ 'ط',
+ 'ﻅ',
+ 'ظ',
+ 'ﻆ',
+ 'ظ',
+ 'ﻇ',
+ 'ظ',
+ 'ﻈ',
+ 'ظ',
+ 'ﻉ',
+ 'ع',
+ 'ﻊ',
+ 'ع',
+ 'ﻋ',
+ 'ع',
+ 'ﻌ',
+ 'ع',
+ 'ﻍ',
+ 'غ',
+ 'ﻎ',
+ 'غ',
+ 'ﻏ',
+ 'غ',
+ 'ﻐ',
+ 'غ',
+ 'ﻑ',
+ 'ف',
+ 'ﻒ',
+ 'ف',
+ 'ﻓ',
+ 'ف',
+ 'ﻔ',
+ 'ف',
+ 'ﻕ',
+ 'ق',
+ 'ﻖ',
+ 'ق',
+ 'ﻗ',
+ 'ق',
+ 'ﻘ',
+ 'ق',
+ 'ﻙ',
+ 'ك',
+ 'ﻚ',
+ 'ك',
+ 'ﻛ',
+ 'ك',
+ 'ﻜ',
+ 'ك',
+ 'ﻝ',
+ 'ل',
+ 'ﻞ',
+ 'ل',
+ 'ﻟ',
+ 'ل',
+ 'ﻠ',
+ 'ل',
+ 'ﻡ',
+ 'م',
+ 'ﻢ',
+ 'م',
+ 'ﻣ',
+ 'م',
+ 'ﻤ',
+ 'م',
+ 'ﻥ',
+ 'ن',
+ 'ﻦ',
+ 'ن',
+ 'ﻧ',
+ 'ن',
+ 'ﻨ',
+ 'ن',
+ 'ﻩ',
+ 'ه',
+ 'ﻪ',
+ 'ه',
+ 'ﻫ',
+ 'ه',
+ 'ﻬ',
+ 'ه',
+ 'ﻭ',
+ 'و',
+ 'ﻮ',
+ 'و',
+ 'ﻯ',
+ 'ى',
+ 'ﻰ',
+ 'ى',
+ 'ﻱ',
+ 'ي',
+ 'ﻲ',
+ 'ي',
+ 'ﻳ',
+ 'ي',
+ 'ﻴ',
+ 'ي',
+ 'ﻵ',
+ 'لآ',
+ 'ﻶ',
+ 'لآ',
+ 'ﻷ',
+ 'لأ',
+ 'ﻸ',
+ 'لأ',
+ 'ﻹ',
+ 'لإ',
+ 'ﻺ',
+ 'لإ',
+ 'ﻻ',
+ 'لا',
+ 'ﻼ',
+ 'لا',
+ ];
+ });
+ function reverseIfRtl(e) {
+ const t = e.length;
+ if (
+ t <= 1 ||
+ !(function isRTLRangeFor(e) {
+ let t = i[13];
+ if (e >= t.begin && e < t.end) return !0;
+ t = i[11];
+ return e >= t.begin && e < t.end;
+ })(e.charCodeAt(0))
+ )
+ return e;
+ const a = [];
+ for (let r = t - 1; r >= 0; r--) a.push(e[r]);
+ return a.join('');
+ }
+ const o = new RegExp('^(\\s)|(\\p{Mn})|(\\p{Cf})$', 'u'),
+ c = new Map();
+ function getCharUnicodeCategory(e) {
+ const t = c.get(e);
+ if (t) return t;
+ const a = e.match(o),
+ r = {
+ isWhitespace: !(!a || !a[1]),
+ isZeroWidthDiacritic: !(!a || !a[2]),
+ isInvisibleFormatMark: !(!a || !a[3]),
+ };
+ c.set(e, r);
+ return r;
+ }
+ function clearUnicodeCaches() {
+ c.clear();
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.getSerifFonts = t.getNonStdFontMap = t.getGlyphMapForStandardFonts = t.getFontNameToFileMap = void 0;
+ t.getStandardFontName = function getStandardFontName(e) {
+ const t = (0, n.normalizeFontName)(e);
+ return i()[t];
+ };
+ t.getSymbolsFonts =
+ t.getSupplementalGlyphMapForCalibri =
+ t.getSupplementalGlyphMapForArialBlack =
+ t.getStdFontMap =
+ void 0;
+ var r = a(6),
+ n = a(38);
+ const i = (0, r.getLookupTableFactory)(function (e) {
+ e['Times-Roman'] = 'Times-Roman';
+ e.Helvetica = 'Helvetica';
+ e.Courier = 'Courier';
+ e.Symbol = 'Symbol';
+ e['Times-Bold'] = 'Times-Bold';
+ e['Helvetica-Bold'] = 'Helvetica-Bold';
+ e['Courier-Bold'] = 'Courier-Bold';
+ e.ZapfDingbats = 'ZapfDingbats';
+ e['Times-Italic'] = 'Times-Italic';
+ e['Helvetica-Oblique'] = 'Helvetica-Oblique';
+ e['Courier-Oblique'] = 'Courier-Oblique';
+ e['Times-BoldItalic'] = 'Times-BoldItalic';
+ e['Helvetica-BoldOblique'] = 'Helvetica-BoldOblique';
+ e['Courier-BoldOblique'] = 'Courier-BoldOblique';
+ e.ArialNarrow = 'Helvetica';
+ e['ArialNarrow-Bold'] = 'Helvetica-Bold';
+ e['ArialNarrow-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['ArialNarrow-Italic'] = 'Helvetica-Oblique';
+ e.ArialBlack = 'Helvetica';
+ e['ArialBlack-Bold'] = 'Helvetica-Bold';
+ e['ArialBlack-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['ArialBlack-Italic'] = 'Helvetica-Oblique';
+ e['Arial-Black'] = 'Helvetica';
+ e['Arial-Black-Bold'] = 'Helvetica-Bold';
+ e['Arial-Black-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['Arial-Black-Italic'] = 'Helvetica-Oblique';
+ e.Arial = 'Helvetica';
+ e['Arial-Bold'] = 'Helvetica-Bold';
+ e['Arial-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['Arial-Italic'] = 'Helvetica-Oblique';
+ e.ArialMT = 'Helvetica';
+ e['Arial-BoldItalicMT'] = 'Helvetica-BoldOblique';
+ e['Arial-BoldMT'] = 'Helvetica-Bold';
+ e['Arial-ItalicMT'] = 'Helvetica-Oblique';
+ e.ArialUnicodeMS = 'Helvetica';
+ e['ArialUnicodeMS-Bold'] = 'Helvetica-Bold';
+ e['ArialUnicodeMS-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['ArialUnicodeMS-Italic'] = 'Helvetica-Oblique';
+ e['Courier-BoldItalic'] = 'Courier-BoldOblique';
+ e['Courier-Italic'] = 'Courier-Oblique';
+ e.CourierNew = 'Courier';
+ e['CourierNew-Bold'] = 'Courier-Bold';
+ e['CourierNew-BoldItalic'] = 'Courier-BoldOblique';
+ e['CourierNew-Italic'] = 'Courier-Oblique';
+ e['CourierNewPS-BoldItalicMT'] = 'Courier-BoldOblique';
+ e['CourierNewPS-BoldMT'] = 'Courier-Bold';
+ e['CourierNewPS-ItalicMT'] = 'Courier-Oblique';
+ e.CourierNewPSMT = 'Courier';
+ e['Helvetica-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['Helvetica-Italic'] = 'Helvetica-Oblique';
+ e['Symbol-Bold'] = 'Symbol';
+ e['Symbol-BoldItalic'] = 'Symbol';
+ e['Symbol-Italic'] = 'Symbol';
+ e.TimesNewRoman = 'Times-Roman';
+ e['TimesNewRoman-Bold'] = 'Times-Bold';
+ e['TimesNewRoman-BoldItalic'] = 'Times-BoldItalic';
+ e['TimesNewRoman-Italic'] = 'Times-Italic';
+ e.TimesNewRomanPS = 'Times-Roman';
+ e['TimesNewRomanPS-Bold'] = 'Times-Bold';
+ e['TimesNewRomanPS-BoldItalic'] = 'Times-BoldItalic';
+ e['TimesNewRomanPS-BoldItalicMT'] = 'Times-BoldItalic';
+ e['TimesNewRomanPS-BoldMT'] = 'Times-Bold';
+ e['TimesNewRomanPS-Italic'] = 'Times-Italic';
+ e['TimesNewRomanPS-ItalicMT'] = 'Times-Italic';
+ e.TimesNewRomanPSMT = 'Times-Roman';
+ e['TimesNewRomanPSMT-Bold'] = 'Times-Bold';
+ e['TimesNewRomanPSMT-BoldItalic'] = 'Times-BoldItalic';
+ e['TimesNewRomanPSMT-Italic'] = 'Times-Italic';
+ });
+ t.getStdFontMap = i;
+ const s = (0, r.getLookupTableFactory)(function (e) {
+ e.Courier = 'FoxitFixed.pfb';
+ e['Courier-Bold'] = 'FoxitFixedBold.pfb';
+ e['Courier-BoldOblique'] = 'FoxitFixedBoldItalic.pfb';
+ e['Courier-Oblique'] = 'FoxitFixedItalic.pfb';
+ e.Helvetica = 'FoxitSans.pfb';
+ e['Helvetica-Bold'] = 'FoxitSansBold.pfb';
+ e['Helvetica-BoldOblique'] = 'FoxitSansBoldItalic.pfb';
+ e['Helvetica-Oblique'] = 'FoxitSansItalic.pfb';
+ e['Times-Roman'] = 'FoxitSerif.pfb';
+ e['Times-Bold'] = 'FoxitSerifBold.pfb';
+ e['Times-BoldItalic'] = 'FoxitSerifBoldItalic.pfb';
+ e['Times-Italic'] = 'FoxitSerifItalic.pfb';
+ e.Symbol = 'FoxitSymbol.pfb';
+ e.ZapfDingbats = 'FoxitDingbats.pfb';
+ e['LiberationSans-Regular'] = 'LiberationSans-Regular.ttf';
+ e['LiberationSans-Bold'] = 'LiberationSans-Bold.ttf';
+ e['LiberationSans-Italic'] = 'LiberationSans-Italic.ttf';
+ e['LiberationSans-BoldItalic'] = 'LiberationSans-BoldItalic.ttf';
+ });
+ t.getFontNameToFileMap = s;
+ const o = (0, r.getLookupTableFactory)(function (e) {
+ e.Calibri = 'Helvetica';
+ e['Calibri-Bold'] = 'Helvetica-Bold';
+ e['Calibri-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['Calibri-Italic'] = 'Helvetica-Oblique';
+ e.CenturyGothic = 'Helvetica';
+ e['CenturyGothic-Bold'] = 'Helvetica-Bold';
+ e['CenturyGothic-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['CenturyGothic-Italic'] = 'Helvetica-Oblique';
+ e.ComicSansMS = 'Comic Sans MS';
+ e['ComicSansMS-Bold'] = 'Comic Sans MS-Bold';
+ e['ComicSansMS-BoldItalic'] = 'Comic Sans MS-BoldItalic';
+ e['ComicSansMS-Italic'] = 'Comic Sans MS-Italic';
+ e['ItcSymbol-Bold'] = 'Helvetica-Bold';
+ e['ItcSymbol-BoldItalic'] = 'Helvetica-BoldOblique';
+ e['ItcSymbol-Book'] = 'Helvetica';
+ e['ItcSymbol-BookItalic'] = 'Helvetica-Oblique';
+ e['ItcSymbol-Medium'] = 'Helvetica';
+ e['ItcSymbol-MediumItalic'] = 'Helvetica-Oblique';
+ e.LucidaConsole = 'Courier';
+ e['LucidaConsole-Bold'] = 'Courier-Bold';
+ e['LucidaConsole-BoldItalic'] = 'Courier-BoldOblique';
+ e['LucidaConsole-Italic'] = 'Courier-Oblique';
+ e['LucidaSans-Demi'] = 'Helvetica-Bold';
+ e['MS-Gothic'] = 'MS Gothic';
+ e['MS-Gothic-Bold'] = 'MS Gothic-Bold';
+ e['MS-Gothic-BoldItalic'] = 'MS Gothic-BoldItalic';
+ e['MS-Gothic-Italic'] = 'MS Gothic-Italic';
+ e['MS-Mincho'] = 'MS Mincho';
+ e['MS-Mincho-Bold'] = 'MS Mincho-Bold';
+ e['MS-Mincho-BoldItalic'] = 'MS Mincho-BoldItalic';
+ e['MS-Mincho-Italic'] = 'MS Mincho-Italic';
+ e['MS-PGothic'] = 'MS PGothic';
+ e['MS-PGothic-Bold'] = 'MS PGothic-Bold';
+ e['MS-PGothic-BoldItalic'] = 'MS PGothic-BoldItalic';
+ e['MS-PGothic-Italic'] = 'MS PGothic-Italic';
+ e['MS-PMincho'] = 'MS PMincho';
+ e['MS-PMincho-Bold'] = 'MS PMincho-Bold';
+ e['MS-PMincho-BoldItalic'] = 'MS PMincho-BoldItalic';
+ e['MS-PMincho-Italic'] = 'MS PMincho-Italic';
+ e.NuptialScript = 'Times-Italic';
+ e.SegoeUISymbol = 'Helvetica';
+ e.Wingdings = 'ZapfDingbats';
+ e['Wingdings-Regular'] = 'ZapfDingbats';
+ });
+ t.getNonStdFontMap = o;
+ const c = (0, r.getLookupTableFactory)(function (e) {
+ e['Adobe Jenson'] = !0;
+ e['Adobe Text'] = !0;
+ e.Albertus = !0;
+ e.Aldus = !0;
+ e.Alexandria = !0;
+ e.Algerian = !0;
+ e['American Typewriter'] = !0;
+ e.Antiqua = !0;
+ e.Apex = !0;
+ e.Arno = !0;
+ e.Aster = !0;
+ e.Aurora = !0;
+ e.Baskerville = !0;
+ e.Bell = !0;
+ e.Bembo = !0;
+ e['Bembo Schoolbook'] = !0;
+ e.Benguiat = !0;
+ e['Berkeley Old Style'] = !0;
+ e['Bernhard Modern'] = !0;
+ e['Berthold City'] = !0;
+ e.Bodoni = !0;
+ e['Bauer Bodoni'] = !0;
+ e['Book Antiqua'] = !0;
+ e.Bookman = !0;
+ e['Bordeaux Roman'] = !0;
+ e['Californian FB'] = !0;
+ e.Calisto = !0;
+ e.Calvert = !0;
+ e.Capitals = !0;
+ e.Cambria = !0;
+ e.Cartier = !0;
+ e.Caslon = !0;
+ e.Catull = !0;
+ e.Centaur = !0;
+ e['Century Old Style'] = !0;
+ e['Century Schoolbook'] = !0;
+ e.Chaparral = !0;
+ e['Charis SIL'] = !0;
+ e.Cheltenham = !0;
+ e['Cholla Slab'] = !0;
+ e.Clarendon = !0;
+ e.Clearface = !0;
+ e.Cochin = !0;
+ e.Colonna = !0;
+ e['Computer Modern'] = !0;
+ e['Concrete Roman'] = !0;
+ e.Constantia = !0;
+ e['Cooper Black'] = !0;
+ e.Corona = !0;
+ e.Ecotype = !0;
+ e.Egyptienne = !0;
+ e.Elephant = !0;
+ e.Excelsior = !0;
+ e.Fairfield = !0;
+ e['FF Scala'] = !0;
+ e.Folkard = !0;
+ e.Footlight = !0;
+ e.FreeSerif = !0;
+ e['Friz Quadrata'] = !0;
+ e.Garamond = !0;
+ e.Gentium = !0;
+ e.Georgia = !0;
+ e.Gloucester = !0;
+ e['Goudy Old Style'] = !0;
+ e['Goudy Schoolbook'] = !0;
+ e['Goudy Pro Font'] = !0;
+ e.Granjon = !0;
+ e['Guardian Egyptian'] = !0;
+ e.Heather = !0;
+ e.Hercules = !0;
+ e['High Tower Text'] = !0;
+ e.Hiroshige = !0;
+ e['Hoefler Text'] = !0;
+ e['Humana Serif'] = !0;
+ e.Imprint = !0;
+ e['Ionic No. 5'] = !0;
+ e.Janson = !0;
+ e.Joanna = !0;
+ e.Korinna = !0;
+ e.Lexicon = !0;
+ e.LiberationSerif = !0;
+ e['Liberation Serif'] = !0;
+ e['Linux Libertine'] = !0;
+ e.Literaturnaya = !0;
+ e.Lucida = !0;
+ e['Lucida Bright'] = !0;
+ e.Melior = !0;
+ e.Memphis = !0;
+ e.Miller = !0;
+ e.Minion = !0;
+ e.Modern = !0;
+ e['Mona Lisa'] = !0;
+ e['Mrs Eaves'] = !0;
+ e['MS Serif'] = !0;
+ e['Museo Slab'] = !0;
+ e['New York'] = !0;
+ e['Nimbus Roman'] = !0;
+ e['NPS Rawlinson Roadway'] = !0;
+ e.NuptialScript = !0;
+ e.Palatino = !0;
+ e.Perpetua = !0;
+ e.Plantin = !0;
+ e['Plantin Schoolbook'] = !0;
+ e.Playbill = !0;
+ e['Poor Richard'] = !0;
+ e['Rawlinson Roadway'] = !0;
+ e.Renault = !0;
+ e.Requiem = !0;
+ e.Rockwell = !0;
+ e.Roman = !0;
+ e['Rotis Serif'] = !0;
+ e.Sabon = !0;
+ e.Scala = !0;
+ e.Seagull = !0;
+ e.Sistina = !0;
+ e.Souvenir = !0;
+ e.STIX = !0;
+ e['Stone Informal'] = !0;
+ e['Stone Serif'] = !0;
+ e.Sylfaen = !0;
+ e.Times = !0;
+ e.Trajan = !0;
+ e['Trinité'] = !0;
+ e['Trump Mediaeval'] = !0;
+ e.Utopia = !0;
+ e['Vale Type'] = !0;
+ e['Bitstream Vera'] = !0;
+ e['Vera Serif'] = !0;
+ e.Versailles = !0;
+ e.Wanted = !0;
+ e.Weiss = !0;
+ e['Wide Latin'] = !0;
+ e.Windsor = !0;
+ e.XITS = !0;
+ });
+ t.getSerifFonts = c;
+ const l = (0, r.getLookupTableFactory)(function (e) {
+ e.Dingbats = !0;
+ e.Symbol = !0;
+ e.ZapfDingbats = !0;
+ });
+ t.getSymbolsFonts = l;
+ const h = (0, r.getLookupTableFactory)(function (e) {
+ e[2] = 10;
+ e[3] = 32;
+ e[4] = 33;
+ e[5] = 34;
+ e[6] = 35;
+ e[7] = 36;
+ e[8] = 37;
+ e[9] = 38;
+ e[10] = 39;
+ e[11] = 40;
+ e[12] = 41;
+ e[13] = 42;
+ e[14] = 43;
+ e[15] = 44;
+ e[16] = 45;
+ e[17] = 46;
+ e[18] = 47;
+ e[19] = 48;
+ e[20] = 49;
+ e[21] = 50;
+ e[22] = 51;
+ e[23] = 52;
+ e[24] = 53;
+ e[25] = 54;
+ e[26] = 55;
+ e[27] = 56;
+ e[28] = 57;
+ e[29] = 58;
+ e[30] = 894;
+ e[31] = 60;
+ e[32] = 61;
+ e[33] = 62;
+ e[34] = 63;
+ e[35] = 64;
+ e[36] = 65;
+ e[37] = 66;
+ e[38] = 67;
+ e[39] = 68;
+ e[40] = 69;
+ e[41] = 70;
+ e[42] = 71;
+ e[43] = 72;
+ e[44] = 73;
+ e[45] = 74;
+ e[46] = 75;
+ e[47] = 76;
+ e[48] = 77;
+ e[49] = 78;
+ e[50] = 79;
+ e[51] = 80;
+ e[52] = 81;
+ e[53] = 82;
+ e[54] = 83;
+ e[55] = 84;
+ e[56] = 85;
+ e[57] = 86;
+ e[58] = 87;
+ e[59] = 88;
+ e[60] = 89;
+ e[61] = 90;
+ e[62] = 91;
+ e[63] = 92;
+ e[64] = 93;
+ e[65] = 94;
+ e[66] = 95;
+ e[67] = 96;
+ e[68] = 97;
+ e[69] = 98;
+ e[70] = 99;
+ e[71] = 100;
+ e[72] = 101;
+ e[73] = 102;
+ e[74] = 103;
+ e[75] = 104;
+ e[76] = 105;
+ e[77] = 106;
+ e[78] = 107;
+ e[79] = 108;
+ e[80] = 109;
+ e[81] = 110;
+ e[82] = 111;
+ e[83] = 112;
+ e[84] = 113;
+ e[85] = 114;
+ e[86] = 115;
+ e[87] = 116;
+ e[88] = 117;
+ e[89] = 118;
+ e[90] = 119;
+ e[91] = 120;
+ e[92] = 121;
+ e[93] = 122;
+ e[94] = 123;
+ e[95] = 124;
+ e[96] = 125;
+ e[97] = 126;
+ e[98] = 196;
+ e[99] = 197;
+ e[100] = 199;
+ e[101] = 201;
+ e[102] = 209;
+ e[103] = 214;
+ e[104] = 220;
+ e[105] = 225;
+ e[106] = 224;
+ e[107] = 226;
+ e[108] = 228;
+ e[109] = 227;
+ e[110] = 229;
+ e[111] = 231;
+ e[112] = 233;
+ e[113] = 232;
+ e[114] = 234;
+ e[115] = 235;
+ e[116] = 237;
+ e[117] = 236;
+ e[118] = 238;
+ e[119] = 239;
+ e[120] = 241;
+ e[121] = 243;
+ e[122] = 242;
+ e[123] = 244;
+ e[124] = 246;
+ e[125] = 245;
+ e[126] = 250;
+ e[127] = 249;
+ e[128] = 251;
+ e[129] = 252;
+ e[130] = 8224;
+ e[131] = 176;
+ e[132] = 162;
+ e[133] = 163;
+ e[134] = 167;
+ e[135] = 8226;
+ e[136] = 182;
+ e[137] = 223;
+ e[138] = 174;
+ e[139] = 169;
+ e[140] = 8482;
+ e[141] = 180;
+ e[142] = 168;
+ e[143] = 8800;
+ e[144] = 198;
+ e[145] = 216;
+ e[146] = 8734;
+ e[147] = 177;
+ e[148] = 8804;
+ e[149] = 8805;
+ e[150] = 165;
+ e[151] = 181;
+ e[152] = 8706;
+ e[153] = 8721;
+ e[154] = 8719;
+ e[156] = 8747;
+ e[157] = 170;
+ e[158] = 186;
+ e[159] = 8486;
+ e[160] = 230;
+ e[161] = 248;
+ e[162] = 191;
+ e[163] = 161;
+ e[164] = 172;
+ e[165] = 8730;
+ e[166] = 402;
+ e[167] = 8776;
+ e[168] = 8710;
+ e[169] = 171;
+ e[170] = 187;
+ e[171] = 8230;
+ e[200] = 193;
+ e[203] = 205;
+ e[210] = 218;
+ e[223] = 711;
+ e[224] = 321;
+ e[225] = 322;
+ e[226] = 352;
+ e[227] = 353;
+ e[228] = 381;
+ e[229] = 382;
+ e[233] = 221;
+ e[234] = 253;
+ e[252] = 263;
+ e[253] = 268;
+ e[254] = 269;
+ e[258] = 258;
+ e[260] = 260;
+ e[261] = 261;
+ e[265] = 280;
+ e[266] = 281;
+ e[267] = 282;
+ e[268] = 283;
+ e[269] = 313;
+ e[275] = 323;
+ e[276] = 324;
+ e[278] = 328;
+ e[283] = 344;
+ e[284] = 345;
+ e[285] = 346;
+ e[286] = 347;
+ e[292] = 367;
+ e[295] = 377;
+ e[296] = 378;
+ e[298] = 380;
+ e[305] = 963;
+ e[306] = 964;
+ e[307] = 966;
+ e[308] = 8215;
+ e[309] = 8252;
+ e[310] = 8319;
+ e[311] = 8359;
+ e[312] = 8592;
+ e[313] = 8593;
+ e[337] = 9552;
+ e[493] = 1039;
+ e[494] = 1040;
+ e[672] = 1488;
+ e[673] = 1489;
+ e[674] = 1490;
+ e[675] = 1491;
+ e[676] = 1492;
+ e[677] = 1493;
+ e[678] = 1494;
+ e[679] = 1495;
+ e[680] = 1496;
+ e[681] = 1497;
+ e[682] = 1498;
+ e[683] = 1499;
+ e[684] = 1500;
+ e[685] = 1501;
+ e[686] = 1502;
+ e[687] = 1503;
+ e[688] = 1504;
+ e[689] = 1505;
+ e[690] = 1506;
+ e[691] = 1507;
+ e[692] = 1508;
+ e[693] = 1509;
+ e[694] = 1510;
+ e[695] = 1511;
+ e[696] = 1512;
+ e[697] = 1513;
+ e[698] = 1514;
+ e[705] = 1524;
+ e[706] = 8362;
+ e[710] = 64288;
+ e[711] = 64298;
+ e[759] = 1617;
+ e[761] = 1776;
+ e[763] = 1778;
+ e[775] = 1652;
+ e[777] = 1764;
+ e[778] = 1780;
+ e[779] = 1781;
+ e[780] = 1782;
+ e[782] = 771;
+ e[783] = 64726;
+ e[786] = 8363;
+ e[788] = 8532;
+ e[790] = 768;
+ e[791] = 769;
+ e[792] = 768;
+ e[795] = 803;
+ e[797] = 64336;
+ e[798] = 64337;
+ e[799] = 64342;
+ e[800] = 64343;
+ e[801] = 64344;
+ e[802] = 64345;
+ e[803] = 64362;
+ e[804] = 64363;
+ e[805] = 64364;
+ e[2424] = 7821;
+ e[2425] = 7822;
+ e[2426] = 7823;
+ e[2427] = 7824;
+ e[2428] = 7825;
+ e[2429] = 7826;
+ e[2430] = 7827;
+ e[2433] = 7682;
+ e[2678] = 8045;
+ e[2679] = 8046;
+ e[2830] = 1552;
+ e[2838] = 686;
+ e[2840] = 751;
+ e[2842] = 753;
+ e[2843] = 754;
+ e[2844] = 755;
+ e[2846] = 757;
+ e[2856] = 767;
+ e[2857] = 848;
+ e[2858] = 849;
+ e[2862] = 853;
+ e[2863] = 854;
+ e[2864] = 855;
+ e[2865] = 861;
+ e[2866] = 862;
+ e[2906] = 7460;
+ e[2908] = 7462;
+ e[2909] = 7463;
+ e[2910] = 7464;
+ e[2912] = 7466;
+ e[2913] = 7467;
+ e[2914] = 7468;
+ e[2916] = 7470;
+ e[2917] = 7471;
+ e[2918] = 7472;
+ e[2920] = 7474;
+ e[2921] = 7475;
+ e[2922] = 7476;
+ e[2924] = 7478;
+ e[2925] = 7479;
+ e[2926] = 7480;
+ e[2928] = 7482;
+ e[2929] = 7483;
+ e[2930] = 7484;
+ e[2932] = 7486;
+ e[2933] = 7487;
+ e[2934] = 7488;
+ e[2936] = 7490;
+ e[2937] = 7491;
+ e[2938] = 7492;
+ e[2940] = 7494;
+ e[2941] = 7495;
+ e[2942] = 7496;
+ e[2944] = 7498;
+ e[2946] = 7500;
+ e[2948] = 7502;
+ e[2950] = 7504;
+ e[2951] = 7505;
+ e[2952] = 7506;
+ e[2954] = 7508;
+ e[2955] = 7509;
+ e[2956] = 7510;
+ e[2958] = 7512;
+ e[2959] = 7513;
+ e[2960] = 7514;
+ e[2962] = 7516;
+ e[2963] = 7517;
+ e[2964] = 7518;
+ e[2966] = 7520;
+ e[2967] = 7521;
+ e[2968] = 7522;
+ e[2970] = 7524;
+ e[2971] = 7525;
+ e[2972] = 7526;
+ e[2974] = 7528;
+ e[2975] = 7529;
+ e[2976] = 7530;
+ e[2978] = 1537;
+ e[2979] = 1538;
+ e[2980] = 1539;
+ e[2982] = 1549;
+ e[2983] = 1551;
+ e[2984] = 1552;
+ e[2986] = 1554;
+ e[2987] = 1555;
+ e[2988] = 1556;
+ e[2990] = 1623;
+ e[2991] = 1624;
+ e[2995] = 1775;
+ e[2999] = 1791;
+ e[3002] = 64290;
+ e[3003] = 64291;
+ e[3004] = 64292;
+ e[3006] = 64294;
+ e[3007] = 64295;
+ e[3008] = 64296;
+ e[3011] = 1900;
+ e[3014] = 8223;
+ e[3015] = 8244;
+ e[3017] = 7532;
+ e[3018] = 7533;
+ e[3019] = 7534;
+ e[3075] = 7590;
+ e[3076] = 7591;
+ e[3079] = 7594;
+ e[3080] = 7595;
+ e[3083] = 7598;
+ e[3084] = 7599;
+ e[3087] = 7602;
+ e[3088] = 7603;
+ e[3091] = 7606;
+ e[3092] = 7607;
+ e[3095] = 7610;
+ e[3096] = 7611;
+ e[3099] = 7614;
+ e[3100] = 7615;
+ e[3103] = 7618;
+ e[3104] = 7619;
+ e[3107] = 8337;
+ e[3108] = 8338;
+ e[3116] = 1884;
+ e[3119] = 1885;
+ e[3120] = 1885;
+ e[3123] = 1886;
+ e[3124] = 1886;
+ e[3127] = 1887;
+ e[3128] = 1887;
+ e[3131] = 1888;
+ e[3132] = 1888;
+ e[3135] = 1889;
+ e[3136] = 1889;
+ e[3139] = 1890;
+ e[3140] = 1890;
+ e[3143] = 1891;
+ e[3144] = 1891;
+ e[3147] = 1892;
+ e[3148] = 1892;
+ e[3153] = 580;
+ e[3154] = 581;
+ e[3157] = 584;
+ e[3158] = 585;
+ e[3161] = 588;
+ e[3162] = 589;
+ e[3165] = 891;
+ e[3166] = 892;
+ e[3169] = 1274;
+ e[3170] = 1275;
+ e[3173] = 1278;
+ e[3174] = 1279;
+ e[3181] = 7622;
+ e[3182] = 7623;
+ e[3282] = 11799;
+ e[3316] = 578;
+ e[3379] = 42785;
+ e[3393] = 1159;
+ e[3416] = 8377;
+ });
+ t.getGlyphMapForStandardFonts = h;
+ const u = (0, r.getLookupTableFactory)(function (e) {
+ e[227] = 322;
+ e[264] = 261;
+ e[291] = 346;
+ });
+ t.getSupplementalGlyphMapForArialBlack = u;
+ const d = (0, r.getLookupTableFactory)(function (e) {
+ e[1] = 32;
+ e[4] = 65;
+ e[6] = 193;
+ e[17] = 66;
+ e[18] = 67;
+ e[21] = 268;
+ e[24] = 68;
+ e[28] = 69;
+ e[30] = 201;
+ e[32] = 282;
+ e[38] = 70;
+ e[39] = 71;
+ e[44] = 72;
+ e[47] = 73;
+ e[49] = 205;
+ e[58] = 74;
+ e[60] = 75;
+ e[62] = 76;
+ e[68] = 77;
+ e[69] = 78;
+ e[75] = 79;
+ e[87] = 80;
+ e[89] = 81;
+ e[90] = 82;
+ e[92] = 344;
+ e[94] = 83;
+ e[97] = 352;
+ e[100] = 84;
+ e[104] = 85;
+ e[115] = 86;
+ e[116] = 87;
+ e[121] = 88;
+ e[122] = 89;
+ e[124] = 221;
+ e[127] = 90;
+ e[129] = 381;
+ e[258] = 97;
+ e[260] = 225;
+ e[268] = 261;
+ e[271] = 98;
+ e[272] = 99;
+ e[273] = 263;
+ e[275] = 269;
+ e[282] = 100;
+ e[286] = 101;
+ e[288] = 233;
+ e[290] = 283;
+ e[295] = 281;
+ e[296] = 102;
+ e[336] = 103;
+ e[346] = 104;
+ e[349] = 105;
+ e[351] = 237;
+ e[361] = 106;
+ e[364] = 107;
+ e[367] = 108;
+ e[371] = 322;
+ e[373] = 109;
+ e[374] = 110;
+ e[381] = 111;
+ e[383] = 243;
+ e[393] = 112;
+ e[395] = 113;
+ e[396] = 114;
+ e[398] = 345;
+ e[400] = 115;
+ e[401] = 347;
+ e[403] = 353;
+ e[410] = 116;
+ e[437] = 117;
+ e[448] = 118;
+ e[449] = 119;
+ e[454] = 120;
+ e[455] = 121;
+ e[457] = 253;
+ e[460] = 122;
+ e[462] = 382;
+ e[463] = 380;
+ e[853] = 44;
+ e[855] = 58;
+ e[856] = 46;
+ e[876] = 47;
+ e[878] = 45;
+ e[882] = 45;
+ e[894] = 40;
+ e[895] = 41;
+ e[896] = 91;
+ e[897] = 93;
+ e[923] = 64;
+ e[1004] = 48;
+ e[1005] = 49;
+ e[1006] = 50;
+ e[1007] = 51;
+ e[1008] = 52;
+ e[1009] = 53;
+ e[1010] = 54;
+ e[1011] = 55;
+ e[1012] = 56;
+ e[1013] = 57;
+ e[1081] = 37;
+ e[1085] = 43;
+ e[1086] = 45;
+ });
+ t.getSupplementalGlyphMapForCalibri = d;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ToUnicodeMap = t.IdentityToUnicodeMap = void 0;
+ var r = a(2);
+ t.ToUnicodeMap = class ToUnicodeMap {
+ constructor(e = []) {
+ this._map = e;
+ }
+ get length() {
+ return this._map.length;
+ }
+ forEach(e) {
+ for (const t in this._map) e(t, this._map[t].charCodeAt(0));
+ }
+ has(e) {
+ return void 0 !== this._map[e];
+ }
+ get(e) {
+ return this._map[e];
+ }
+ charCodeOf(e) {
+ const t = this._map;
+ if (t.length <= 65536) return t.indexOf(e);
+ for (const a in t) if (t[a] === e) return 0 | a;
+ return -1;
+ }
+ amend(e) {
+ for (const t in e) this._map[t] = e[t];
+ }
+ };
+ t.IdentityToUnicodeMap = class IdentityToUnicodeMap {
+ constructor(e, t) {
+ this.firstChar = e;
+ this.lastChar = t;
+ }
+ get length() {
+ return this.lastChar + 1 - this.firstChar;
+ }
+ forEach(e) {
+ for (let t = this.firstChar, a = this.lastChar; t <= a; t++) e(t, t);
+ }
+ has(e) {
+ return this.firstChar <= e && e <= this.lastChar;
+ }
+ get(e) {
+ if (this.firstChar <= e && e <= this.lastChar) return String.fromCharCode(e);
+ }
+ charCodeOf(e) {
+ return Number.isInteger(e) && e >= this.firstChar && e <= this.lastChar ? e : -1;
+ }
+ amend(e) {
+ (0, r.unreachable)('Should not call amend()');
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.CFFFont = void 0;
+ var r = a(35),
+ n = a(38),
+ i = a(2);
+ t.CFFFont = class CFFFont {
+ constructor(e, t) {
+ this.properties = t;
+ const a = new r.CFFParser(e, t, n.SEAC_ANALYSIS_ENABLED);
+ this.cff = a.parse();
+ this.cff.duplicateFirstGlyph();
+ const s = new r.CFFCompiler(this.cff);
+ this.seacs = this.cff.seacs;
+ try {
+ this.data = s.compile();
+ } catch (a) {
+ (0, i.warn)('Failed to compile font ' + t.loadedName);
+ this.data = e;
+ }
+ this._createBuiltInEncoding();
+ }
+ get numGlyphs() {
+ return this.cff.charStrings.count;
+ }
+ getCharset() {
+ return this.cff.charset.charset;
+ }
+ getGlyphMapping() {
+ const e = this.cff,
+ t = this.properties,
+ a = e.charset.charset;
+ let r, i;
+ if (t.composite) {
+ r = Object.create(null);
+ let n;
+ if (e.isCIDFont)
+ for (i = 0; i < a.length; i++) {
+ const e = a[i];
+ n = t.cMap.charCodeOf(e);
+ r[n] = i;
+ }
+ else
+ for (i = 0; i < e.charStrings.count; i++) {
+ n = t.cMap.charCodeOf(i);
+ r[n] = i;
+ }
+ return r;
+ }
+ let s = e.encoding ? e.encoding.encoding : null;
+ t.isInternalFont && (s = t.defaultEncoding);
+ r = (0, n.type1FontGlyphMapping)(t, s, a);
+ return r;
+ }
+ hasGlyphId(e) {
+ return this.cff.hasGlyphId(e);
+ }
+ _createBuiltInEncoding() {
+ const {charset: e, encoding: t} = this.cff;
+ if (!e || !t) return;
+ const a = e.charset,
+ r = t.encoding,
+ n = [];
+ for (const e in r) {
+ const t = r[e];
+ if (t >= 0) {
+ const r = a[t];
+ r && (n[e] = r);
+ }
+ }
+ n.length > 0 && (this.properties.builtInEncoding = n);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.FontRendererFactory = void 0;
+ var r = a(2),
+ n = a(35),
+ i = a(39),
+ s = a(37),
+ o = a(10);
+ function getUint32(e, t) {
+ return ((e[t] << 24) | (e[t + 1] << 16) | (e[t + 2] << 8) | e[t + 3]) >>> 0;
+ }
+ function getUint16(e, t) {
+ return (e[t] << 8) | e[t + 1];
+ }
+ function getInt16(e, t) {
+ return ((e[t] << 24) | (e[t + 1] << 16)) >> 16;
+ }
+ function getInt8(e, t) {
+ return (e[t] << 24) >> 24;
+ }
+ function getFloat214(e, t) {
+ return getInt16(e, t) / 16384;
+ }
+ function getSubroutineBias(e) {
+ const t = e.length;
+ let a = 32768;
+ t < 1240 ? (a = 107) : t < 33900 && (a = 1131);
+ return a;
+ }
+ function parseCmap(e, t, a) {
+ const n = 1 === getUint16(e, t + 2) ? getUint32(e, t + 8) : getUint32(e, t + 16),
+ i = getUint16(e, t + n);
+ let s, o, c;
+ if (4 === i) {
+ getUint16(e, t + n + 2);
+ const a = getUint16(e, t + n + 6) >> 1;
+ o = t + n + 14;
+ s = [];
+ for (c = 0; c < a; c++, o += 2) s[c] = {end: getUint16(e, o)};
+ o += 2;
+ for (c = 0; c < a; c++, o += 2) s[c].start = getUint16(e, o);
+ for (c = 0; c < a; c++, o += 2) s[c].idDelta = getUint16(e, o);
+ for (c = 0; c < a; c++, o += 2) {
+ let t = getUint16(e, o);
+ if (0 !== t) {
+ s[c].ids = [];
+ for (let a = 0, r = s[c].end - s[c].start + 1; a < r; a++) {
+ s[c].ids[a] = getUint16(e, o + t);
+ t += 2;
+ }
+ }
+ }
+ return s;
+ }
+ if (12 === i) {
+ const a = getUint32(e, t + n + 12);
+ o = t + n + 16;
+ s = [];
+ for (c = 0; c < a; c++) {
+ t = getUint32(e, o);
+ s.push({start: t, end: getUint32(e, o + 4), idDelta: getUint32(e, o + 8) - t});
+ o += 12;
+ }
+ return s;
+ }
+ throw new r.FormatError(`unsupported cmap: ${i}`);
+ }
+ function parseCff(e, t, a, r) {
+ const i = new n.CFFParser(new o.Stream(e, t, a - t), {}, r).parse();
+ return {
+ glyphs: i.charStrings.objects,
+ subrs:
+ i.topDict.privateDict && i.topDict.privateDict.subrsIndex && i.topDict.privateDict.subrsIndex.objects,
+ gsubrs: i.globalSubrIndex && i.globalSubrIndex.objects,
+ isCFFCIDFont: i.isCIDFont,
+ fdSelect: i.fdSelect,
+ fdArray: i.fdArray,
+ };
+ }
+ function lookupCmap(e, t) {
+ const a = t.codePointAt(0);
+ let r = 0,
+ n = 0,
+ i = e.length - 1;
+ for (; n < i; ) {
+ const t = (n + i + 1) >> 1;
+ a < e[t].start ? (i = t - 1) : (n = t);
+ }
+ e[n].start <= a &&
+ a <= e[n].end &&
+ (r = (e[n].idDelta + (e[n].ids ? e[n].ids[a - e[n].start] : a)) & 65535);
+ return {charCode: a, glyphId: r};
+ }
+ function compileGlyf(e, t, a) {
+ function moveTo(e, a) {
+ t.push({cmd: 'moveTo', args: [e, a]});
+ }
+ function lineTo(e, a) {
+ t.push({cmd: 'lineTo', args: [e, a]});
+ }
+ function quadraticCurveTo(e, a, r, n) {
+ t.push({cmd: 'quadraticCurveTo', args: [e, a, r, n]});
+ }
+ let r = 0;
+ const n = getInt16(e, r);
+ let i,
+ s = 0,
+ o = 0;
+ r += 10;
+ if (n < 0)
+ do {
+ i = getUint16(e, r);
+ const n = getUint16(e, r + 2);
+ r += 4;
+ let c, l;
+ if (1 & i) {
+ if (2 & i) {
+ c = getInt16(e, r);
+ l = getInt16(e, r + 2);
+ } else {
+ c = getUint16(e, r);
+ l = getUint16(e, r + 2);
+ }
+ r += 4;
+ } else if (2 & i) {
+ c = getInt8(e, r++);
+ l = getInt8(e, r++);
+ } else {
+ c = e[r++];
+ l = e[r++];
+ }
+ if (2 & i) {
+ s = c;
+ o = l;
+ } else {
+ s = 0;
+ o = 0;
+ }
+ let h = 1,
+ u = 1,
+ d = 0,
+ f = 0;
+ if (8 & i) {
+ h = u = getFloat214(e, r);
+ r += 2;
+ } else if (64 & i) {
+ h = getFloat214(e, r);
+ u = getFloat214(e, r + 2);
+ r += 4;
+ } else if (128 & i) {
+ h = getFloat214(e, r);
+ d = getFloat214(e, r + 2);
+ f = getFloat214(e, r + 4);
+ u = getFloat214(e, r + 6);
+ r += 8;
+ }
+ const g = a.glyphs[n];
+ if (g) {
+ t.push({cmd: 'save'}, {cmd: 'transform', args: [h, d, f, u, s, o]});
+ compileGlyf(g, t, a);
+ t.push({cmd: 'restore'});
+ }
+ } while (32 & i);
+ else {
+ const t = [];
+ let a, c;
+ for (a = 0; a < n; a++) {
+ t.push(getUint16(e, r));
+ r += 2;
+ }
+ r += 2 + getUint16(e, r);
+ const l = t.at(-1) + 1,
+ h = [];
+ for (; h.length < l; ) {
+ i = e[r++];
+ let t = 1;
+ 8 & i && (t += e[r++]);
+ for (; t-- > 0; ) h.push({flags: i});
+ }
+ for (a = 0; a < l; a++) {
+ switch (18 & h[a].flags) {
+ case 0:
+ s += getInt16(e, r);
+ r += 2;
+ break;
+ case 2:
+ s -= e[r++];
+ break;
+ case 18:
+ s += e[r++];
+ }
+ h[a].x = s;
+ }
+ for (a = 0; a < l; a++) {
+ switch (36 & h[a].flags) {
+ case 0:
+ o += getInt16(e, r);
+ r += 2;
+ break;
+ case 4:
+ o -= e[r++];
+ break;
+ case 36:
+ o += e[r++];
+ }
+ h[a].y = o;
+ }
+ let u = 0;
+ for (r = 0; r < n; r++) {
+ const e = t[r],
+ n = h.slice(u, e + 1);
+ if (1 & n[0].flags) n.push(n[0]);
+ else if (1 & n.at(-1).flags) n.unshift(n.at(-1));
+ else {
+ const e = {flags: 1, x: (n[0].x + n.at(-1).x) / 2, y: (n[0].y + n.at(-1).y) / 2};
+ n.unshift(e);
+ n.push(e);
+ }
+ moveTo(n[0].x, n[0].y);
+ for (a = 1, c = n.length; a < c; a++)
+ if (1 & n[a].flags) lineTo(n[a].x, n[a].y);
+ else if (1 & n[a + 1].flags) {
+ quadraticCurveTo(n[a].x, n[a].y, n[a + 1].x, n[a + 1].y);
+ a++;
+ } else quadraticCurveTo(n[a].x, n[a].y, (n[a].x + n[a + 1].x) / 2, (n[a].y + n[a + 1].y) / 2);
+ u = e + 1;
+ }
+ }
+ }
+ function compileCharString(e, t, a, n) {
+ function moveTo(e, a) {
+ t.push({cmd: 'moveTo', args: [e, a]});
+ }
+ function lineTo(e, a) {
+ t.push({cmd: 'lineTo', args: [e, a]});
+ }
+ function bezierCurveTo(e, a, r, n, i, s) {
+ t.push({cmd: 'bezierCurveTo', args: [e, a, r, n, i, s]});
+ }
+ const i = [];
+ let o = 0,
+ c = 0,
+ l = 0;
+ !(function parse(e) {
+ let h = 0;
+ for (; h < e.length; ) {
+ let u,
+ d,
+ f,
+ g,
+ p,
+ m,
+ b,
+ y,
+ w,
+ S = !1,
+ x = e[h++];
+ switch (x) {
+ case 1:
+ case 3:
+ case 18:
+ case 23:
+ l += i.length >> 1;
+ S = !0;
+ break;
+ case 4:
+ c += i.pop();
+ moveTo(o, c);
+ S = !0;
+ break;
+ case 5:
+ for (; i.length > 0; ) {
+ o += i.shift();
+ c += i.shift();
+ lineTo(o, c);
+ }
+ break;
+ case 6:
+ for (; i.length > 0; ) {
+ o += i.shift();
+ lineTo(o, c);
+ if (0 === i.length) break;
+ c += i.shift();
+ lineTo(o, c);
+ }
+ break;
+ case 7:
+ for (; i.length > 0; ) {
+ c += i.shift();
+ lineTo(o, c);
+ if (0 === i.length) break;
+ o += i.shift();
+ lineTo(o, c);
+ }
+ break;
+ case 8:
+ for (; i.length > 0; ) {
+ u = o + i.shift();
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g + i.shift();
+ bezierCurveTo(u, f, d, g, o, c);
+ }
+ break;
+ case 10:
+ y = i.pop();
+ w = null;
+ if (a.isCFFCIDFont) {
+ const e = a.fdSelect.getFDIndex(n);
+ if (e >= 0 && e < a.fdArray.length) {
+ const t = a.fdArray[e];
+ let r;
+ t.privateDict && t.privateDict.subrsIndex && (r = t.privateDict.subrsIndex.objects);
+ if (r) {
+ y += getSubroutineBias(r);
+ w = r[y];
+ }
+ } else (0, r.warn)('Invalid fd index for glyph index.');
+ } else w = a.subrs[y + a.subrsBias];
+ w && parse(w);
+ break;
+ case 11:
+ return;
+ case 12:
+ x = e[h++];
+ switch (x) {
+ case 34:
+ u = o + i.shift();
+ d = u + i.shift();
+ p = c + i.shift();
+ o = d + i.shift();
+ bezierCurveTo(u, c, d, p, o, p);
+ u = o + i.shift();
+ d = u + i.shift();
+ o = d + i.shift();
+ bezierCurveTo(u, p, d, c, o, c);
+ break;
+ case 35:
+ u = o + i.shift();
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g + i.shift();
+ bezierCurveTo(u, f, d, g, o, c);
+ u = o + i.shift();
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g + i.shift();
+ bezierCurveTo(u, f, d, g, o, c);
+ i.pop();
+ break;
+ case 36:
+ u = o + i.shift();
+ p = c + i.shift();
+ d = u + i.shift();
+ m = p + i.shift();
+ o = d + i.shift();
+ bezierCurveTo(u, p, d, m, o, m);
+ u = o + i.shift();
+ d = u + i.shift();
+ b = m + i.shift();
+ o = d + i.shift();
+ bezierCurveTo(u, m, d, b, o, c);
+ break;
+ case 37:
+ const e = o,
+ t = c;
+ u = o + i.shift();
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g + i.shift();
+ bezierCurveTo(u, f, d, g, o, c);
+ u = o + i.shift();
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d;
+ c = g;
+ Math.abs(o - e) > Math.abs(c - t) ? (o += i.shift()) : (c += i.shift());
+ bezierCurveTo(u, f, d, g, o, c);
+ break;
+ default:
+ throw new r.FormatError(`unknown operator: 12 ${x}`);
+ }
+ break;
+ case 14:
+ if (i.length >= 4) {
+ const e = i.pop(),
+ r = i.pop();
+ c = i.pop();
+ o = i.pop();
+ t.push({cmd: 'save'}, {cmd: 'translate', args: [o, c]});
+ let n = lookupCmap(a.cmap, String.fromCharCode(a.glyphNameMap[s.StandardEncoding[e]]));
+ compileCharString(a.glyphs[n.glyphId], t, a, n.glyphId);
+ t.push({cmd: 'restore'});
+ n = lookupCmap(a.cmap, String.fromCharCode(a.glyphNameMap[s.StandardEncoding[r]]));
+ compileCharString(a.glyphs[n.glyphId], t, a, n.glyphId);
+ }
+ return;
+ case 19:
+ case 20:
+ l += i.length >> 1;
+ h += (l + 7) >> 3;
+ S = !0;
+ break;
+ case 21:
+ c += i.pop();
+ o += i.pop();
+ moveTo(o, c);
+ S = !0;
+ break;
+ case 22:
+ o += i.pop();
+ moveTo(o, c);
+ S = !0;
+ break;
+ case 24:
+ for (; i.length > 2; ) {
+ u = o + i.shift();
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g + i.shift();
+ bezierCurveTo(u, f, d, g, o, c);
+ }
+ o += i.shift();
+ c += i.shift();
+ lineTo(o, c);
+ break;
+ case 25:
+ for (; i.length > 6; ) {
+ o += i.shift();
+ c += i.shift();
+ lineTo(o, c);
+ }
+ u = o + i.shift();
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g + i.shift();
+ bezierCurveTo(u, f, d, g, o, c);
+ break;
+ case 26:
+ i.length % 2 && (o += i.shift());
+ for (; i.length > 0; ) {
+ u = o;
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d;
+ c = g + i.shift();
+ bezierCurveTo(u, f, d, g, o, c);
+ }
+ break;
+ case 27:
+ i.length % 2 && (c += i.shift());
+ for (; i.length > 0; ) {
+ u = o + i.shift();
+ f = c;
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g;
+ bezierCurveTo(u, f, d, g, o, c);
+ }
+ break;
+ case 28:
+ i.push(((e[h] << 24) | (e[h + 1] << 16)) >> 16);
+ h += 2;
+ break;
+ case 29:
+ y = i.pop() + a.gsubrsBias;
+ w = a.gsubrs[y];
+ w && parse(w);
+ break;
+ case 30:
+ for (; i.length > 0; ) {
+ u = o;
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g + (1 === i.length ? i.shift() : 0);
+ bezierCurveTo(u, f, d, g, o, c);
+ if (0 === i.length) break;
+ u = o + i.shift();
+ f = c;
+ d = u + i.shift();
+ g = f + i.shift();
+ c = g + i.shift();
+ o = d + (1 === i.length ? i.shift() : 0);
+ bezierCurveTo(u, f, d, g, o, c);
+ }
+ break;
+ case 31:
+ for (; i.length > 0; ) {
+ u = o + i.shift();
+ f = c;
+ d = u + i.shift();
+ g = f + i.shift();
+ c = g + i.shift();
+ o = d + (1 === i.length ? i.shift() : 0);
+ bezierCurveTo(u, f, d, g, o, c);
+ if (0 === i.length) break;
+ u = o;
+ f = c + i.shift();
+ d = u + i.shift();
+ g = f + i.shift();
+ o = d + i.shift();
+ c = g + (1 === i.length ? i.shift() : 0);
+ bezierCurveTo(u, f, d, g, o, c);
+ }
+ break;
+ default:
+ if (x < 32) throw new r.FormatError(`unknown operator: ${x}`);
+ if (x < 247) i.push(x - 139);
+ else if (x < 251) i.push(256 * (x - 247) + e[h++] + 108);
+ else if (x < 255) i.push(256 * -(x - 251) - e[h++] - 108);
+ else {
+ i.push(((e[h] << 24) | (e[h + 1] << 16) | (e[h + 2] << 8) | e[h + 3]) / 65536);
+ h += 4;
+ }
+ }
+ S && (i.length = 0);
+ }
+ })(e);
+ }
+ const c = [];
+ class CompiledFont {
+ constructor(e) {
+ this.constructor === CompiledFont && (0, r.unreachable)('Cannot initialize CompiledFont.');
+ this.fontMatrix = e;
+ this.compiledGlyphs = Object.create(null);
+ this.compiledCharCodeToGlyphId = Object.create(null);
+ }
+ getPathJs(e) {
+ const {charCode: t, glyphId: a} = lookupCmap(this.cmap, e);
+ let r = this.compiledGlyphs[a];
+ if (!r)
+ try {
+ r = this.compileGlyph(this.glyphs[a], a);
+ this.compiledGlyphs[a] = r;
+ } catch (e) {
+ this.compiledGlyphs[a] = c;
+ void 0 === this.compiledCharCodeToGlyphId[t] && (this.compiledCharCodeToGlyphId[t] = a);
+ throw e;
+ }
+ void 0 === this.compiledCharCodeToGlyphId[t] && (this.compiledCharCodeToGlyphId[t] = a);
+ return r;
+ }
+ compileGlyph(e, t) {
+ if (!e || 0 === e.length || 14 === e[0]) return c;
+ let a = this.fontMatrix;
+ if (this.isCFFCIDFont) {
+ const e = this.fdSelect.getFDIndex(t);
+ if (e >= 0 && e < this.fdArray.length) {
+ a = this.fdArray[e].getByName('FontMatrix') || r.FONT_IDENTITY_MATRIX;
+ } else (0, r.warn)('Invalid fd index for glyph index.');
+ }
+ const n = [{cmd: 'save'}, {cmd: 'transform', args: a.slice()}, {cmd: 'scale', args: ['size', '-size']}];
+ this.compileGlyphImpl(e, n, t);
+ n.push({cmd: 'restore'});
+ return n;
+ }
+ compileGlyphImpl() {
+ (0, r.unreachable)('Children classes should implement this.');
+ }
+ hasBuiltPath(e) {
+ const {charCode: t, glyphId: a} = lookupCmap(this.cmap, e);
+ return void 0 !== this.compiledGlyphs[a] && void 0 !== this.compiledCharCodeToGlyphId[t];
+ }
+ }
+ class TrueTypeCompiled extends CompiledFont {
+ constructor(e, t, a) {
+ super(a || [488e-6, 0, 0, 488e-6, 0, 0]);
+ this.glyphs = e;
+ this.cmap = t;
+ }
+ compileGlyphImpl(e, t) {
+ compileGlyf(e, t, this);
+ }
+ }
+ class Type2Compiled extends CompiledFont {
+ constructor(e, t, a, r) {
+ super(a || [0.001, 0, 0, 0.001, 0, 0]);
+ this.glyphs = e.glyphs;
+ this.gsubrs = e.gsubrs || [];
+ this.subrs = e.subrs || [];
+ this.cmap = t;
+ this.glyphNameMap = r || (0, i.getGlyphsUnicode)();
+ this.gsubrsBias = getSubroutineBias(this.gsubrs);
+ this.subrsBias = getSubroutineBias(this.subrs);
+ this.isCFFCIDFont = e.isCFFCIDFont;
+ this.fdSelect = e.fdSelect;
+ this.fdArray = e.fdArray;
+ }
+ compileGlyphImpl(e, t, a) {
+ compileCharString(e, t, this, a);
+ }
+ }
+ t.FontRendererFactory = class FontRendererFactory {
+ static create(e, t) {
+ const a = new Uint8Array(e.data);
+ let n, i, s, o, c, l;
+ const h = getUint16(a, 4);
+ for (let e = 0, u = 12; e < h; e++, u += 16) {
+ const e = (0, r.bytesToString)(a.subarray(u, u + 4)),
+ h = getUint32(a, u + 8),
+ d = getUint32(a, u + 12);
+ switch (e) {
+ case 'cmap':
+ n = parseCmap(a, h);
+ break;
+ case 'glyf':
+ i = a.subarray(h, h + d);
+ break;
+ case 'loca':
+ s = a.subarray(h, h + d);
+ break;
+ case 'head':
+ l = getUint16(a, h + 18);
+ c = getUint16(a, h + 50);
+ break;
+ case 'CFF ':
+ o = parseCff(a, h, h + d, t);
+ }
+ }
+ if (i) {
+ const t = l ? [1 / l, 0, 0, 1 / l, 0, 0] : e.fontMatrix;
+ return new TrueTypeCompiled(
+ (function parseGlyfTable(e, t, a) {
+ let r, n;
+ if (a) {
+ r = 4;
+ n = getUint32;
+ } else {
+ r = 2;
+ n = (e, t) => 2 * getUint16(e, t);
+ }
+ const i = [];
+ let s = n(t, 0);
+ for (let a = r; a < t.length; a += r) {
+ const r = n(t, a);
+ i.push(e.subarray(s, r));
+ s = r;
+ }
+ return i;
+ })(i, s, c),
+ n,
+ t
+ );
+ }
+ return new Type2Compiled(o, n, e.fontMatrix, e.glyphNameMap);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.getMetrics = t.getFontBasicMetrics = void 0;
+ var r = a(6);
+ const n = (0, r.getLookupTableFactory)(function (e) {
+ e.Courier = 600;
+ e['Courier-Bold'] = 600;
+ e['Courier-BoldOblique'] = 600;
+ e['Courier-Oblique'] = 600;
+ e.Helvetica = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 278;
+ e.exclam = 278;
+ e.quotedbl = 355;
+ e.numbersign = 556;
+ e.dollar = 556;
+ e.percent = 889;
+ e.ampersand = 667;
+ e.quoteright = 222;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asterisk = 389;
+ e.plus = 584;
+ e.comma = 278;
+ e.hyphen = 333;
+ e.period = 278;
+ e.slash = 278;
+ e.zero = 556;
+ e.one = 556;
+ e.two = 556;
+ e.three = 556;
+ e.four = 556;
+ e.five = 556;
+ e.six = 556;
+ e.seven = 556;
+ e.eight = 556;
+ e.nine = 556;
+ e.colon = 278;
+ e.semicolon = 278;
+ e.less = 584;
+ e.equal = 584;
+ e.greater = 584;
+ e.question = 556;
+ e.at = 1015;
+ e.A = 667;
+ e.B = 667;
+ e.C = 722;
+ e.D = 722;
+ e.E = 667;
+ e.F = 611;
+ e.G = 778;
+ e.H = 722;
+ e.I = 278;
+ e.J = 500;
+ e.K = 667;
+ e.L = 556;
+ e.M = 833;
+ e.N = 722;
+ e.O = 778;
+ e.P = 667;
+ e.Q = 778;
+ e.R = 722;
+ e.S = 667;
+ e.T = 611;
+ e.U = 722;
+ e.V = 667;
+ e.W = 944;
+ e.X = 667;
+ e.Y = 667;
+ e.Z = 611;
+ e.bracketleft = 278;
+ e.backslash = 278;
+ e.bracketright = 278;
+ e.asciicircum = 469;
+ e.underscore = 556;
+ e.quoteleft = 222;
+ e.a = 556;
+ e.b = 556;
+ e.c = 500;
+ e.d = 556;
+ e.e = 556;
+ e.f = 278;
+ e.g = 556;
+ e.h = 556;
+ e.i = 222;
+ e.j = 222;
+ e.k = 500;
+ e.l = 222;
+ e.m = 833;
+ e.n = 556;
+ e.o = 556;
+ e.p = 556;
+ e.q = 556;
+ e.r = 333;
+ e.s = 500;
+ e.t = 278;
+ e.u = 556;
+ e.v = 500;
+ e.w = 722;
+ e.x = 500;
+ e.y = 500;
+ e.z = 500;
+ e.braceleft = 334;
+ e.bar = 260;
+ e.braceright = 334;
+ e.asciitilde = 584;
+ e.exclamdown = 333;
+ e.cent = 556;
+ e.sterling = 556;
+ e.fraction = 167;
+ e.yen = 556;
+ e.florin = 556;
+ e.section = 556;
+ e.currency = 556;
+ e.quotesingle = 191;
+ e.quotedblleft = 333;
+ e.guillemotleft = 556;
+ e.guilsinglleft = 333;
+ e.guilsinglright = 333;
+ e.fi = 500;
+ e.fl = 500;
+ e.endash = 556;
+ e.dagger = 556;
+ e.daggerdbl = 556;
+ e.periodcentered = 278;
+ e.paragraph = 537;
+ e.bullet = 350;
+ e.quotesinglbase = 222;
+ e.quotedblbase = 333;
+ e.quotedblright = 333;
+ e.guillemotright = 556;
+ e.ellipsis = 1e3;
+ e.perthousand = 1e3;
+ e.questiondown = 611;
+ e.grave = 333;
+ e.acute = 333;
+ e.circumflex = 333;
+ e.tilde = 333;
+ e.macron = 333;
+ e.breve = 333;
+ e.dotaccent = 333;
+ e.dieresis = 333;
+ e.ring = 333;
+ e.cedilla = 333;
+ e.hungarumlaut = 333;
+ e.ogonek = 333;
+ e.caron = 333;
+ e.emdash = 1e3;
+ e.AE = 1e3;
+ e.ordfeminine = 370;
+ e.Lslash = 556;
+ e.Oslash = 778;
+ e.OE = 1e3;
+ e.ordmasculine = 365;
+ e.ae = 889;
+ e.dotlessi = 278;
+ e.lslash = 222;
+ e.oslash = 611;
+ e.oe = 944;
+ e.germandbls = 611;
+ e.Idieresis = 278;
+ e.eacute = 556;
+ e.abreve = 556;
+ e.uhungarumlaut = 556;
+ e.ecaron = 556;
+ e.Ydieresis = 667;
+ e.divide = 584;
+ e.Yacute = 667;
+ e.Acircumflex = 667;
+ e.aacute = 556;
+ e.Ucircumflex = 722;
+ e.yacute = 500;
+ e.scommaaccent = 500;
+ e.ecircumflex = 556;
+ e.Uring = 722;
+ e.Udieresis = 722;
+ e.aogonek = 556;
+ e.Uacute = 722;
+ e.uogonek = 556;
+ e.Edieresis = 667;
+ e.Dcroat = 722;
+ e.commaaccent = 250;
+ e.copyright = 737;
+ e.Emacron = 667;
+ e.ccaron = 500;
+ e.aring = 556;
+ e.Ncommaaccent = 722;
+ e.lacute = 222;
+ e.agrave = 556;
+ e.Tcommaaccent = 611;
+ e.Cacute = 722;
+ e.atilde = 556;
+ e.Edotaccent = 667;
+ e.scaron = 500;
+ e.scedilla = 500;
+ e.iacute = 278;
+ e.lozenge = 471;
+ e.Rcaron = 722;
+ e.Gcommaaccent = 778;
+ e.ucircumflex = 556;
+ e.acircumflex = 556;
+ e.Amacron = 667;
+ e.rcaron = 333;
+ e.ccedilla = 500;
+ e.Zdotaccent = 611;
+ e.Thorn = 667;
+ e.Omacron = 778;
+ e.Racute = 722;
+ e.Sacute = 667;
+ e.dcaron = 643;
+ e.Umacron = 722;
+ e.uring = 556;
+ e.threesuperior = 333;
+ e.Ograve = 778;
+ e.Agrave = 667;
+ e.Abreve = 667;
+ e.multiply = 584;
+ e.uacute = 556;
+ e.Tcaron = 611;
+ e.partialdiff = 476;
+ e.ydieresis = 500;
+ e.Nacute = 722;
+ e.icircumflex = 278;
+ e.Ecircumflex = 667;
+ e.adieresis = 556;
+ e.edieresis = 556;
+ e.cacute = 500;
+ e.nacute = 556;
+ e.umacron = 556;
+ e.Ncaron = 722;
+ e.Iacute = 278;
+ e.plusminus = 584;
+ e.brokenbar = 260;
+ e.registered = 737;
+ e.Gbreve = 778;
+ e.Idotaccent = 278;
+ e.summation = 600;
+ e.Egrave = 667;
+ e.racute = 333;
+ e.omacron = 556;
+ e.Zacute = 611;
+ e.Zcaron = 611;
+ e.greaterequal = 549;
+ e.Eth = 722;
+ e.Ccedilla = 722;
+ e.lcommaaccent = 222;
+ e.tcaron = 317;
+ e.eogonek = 556;
+ e.Uogonek = 722;
+ e.Aacute = 667;
+ e.Adieresis = 667;
+ e.egrave = 556;
+ e.zacute = 500;
+ e.iogonek = 222;
+ e.Oacute = 778;
+ e.oacute = 556;
+ e.amacron = 556;
+ e.sacute = 500;
+ e.idieresis = 278;
+ e.Ocircumflex = 778;
+ e.Ugrave = 722;
+ e.Delta = 612;
+ e.thorn = 556;
+ e.twosuperior = 333;
+ e.Odieresis = 778;
+ e.mu = 556;
+ e.igrave = 278;
+ e.ohungarumlaut = 556;
+ e.Eogonek = 667;
+ e.dcroat = 556;
+ e.threequarters = 834;
+ e.Scedilla = 667;
+ e.lcaron = 299;
+ e.Kcommaaccent = 667;
+ e.Lacute = 556;
+ e.trademark = 1e3;
+ e.edotaccent = 556;
+ e.Igrave = 278;
+ e.Imacron = 278;
+ e.Lcaron = 556;
+ e.onehalf = 834;
+ e.lessequal = 549;
+ e.ocircumflex = 556;
+ e.ntilde = 556;
+ e.Uhungarumlaut = 722;
+ e.Eacute = 667;
+ e.emacron = 556;
+ e.gbreve = 556;
+ e.onequarter = 834;
+ e.Scaron = 667;
+ e.Scommaaccent = 667;
+ e.Ohungarumlaut = 778;
+ e.degree = 400;
+ e.ograve = 556;
+ e.Ccaron = 722;
+ e.ugrave = 556;
+ e.radical = 453;
+ e.Dcaron = 722;
+ e.rcommaaccent = 333;
+ e.Ntilde = 722;
+ e.otilde = 556;
+ e.Rcommaaccent = 722;
+ e.Lcommaaccent = 556;
+ e.Atilde = 667;
+ e.Aogonek = 667;
+ e.Aring = 667;
+ e.Otilde = 778;
+ e.zdotaccent = 500;
+ e.Ecaron = 667;
+ e.Iogonek = 278;
+ e.kcommaaccent = 500;
+ e.minus = 584;
+ e.Icircumflex = 278;
+ e.ncaron = 556;
+ e.tcommaaccent = 278;
+ e.logicalnot = 584;
+ e.odieresis = 556;
+ e.udieresis = 556;
+ e.notequal = 549;
+ e.gcommaaccent = 556;
+ e.eth = 556;
+ e.zcaron = 500;
+ e.ncommaaccent = 556;
+ e.onesuperior = 333;
+ e.imacron = 278;
+ e.Euro = 556;
+ });
+ e['Helvetica-Bold'] = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 278;
+ e.exclam = 333;
+ e.quotedbl = 474;
+ e.numbersign = 556;
+ e.dollar = 556;
+ e.percent = 889;
+ e.ampersand = 722;
+ e.quoteright = 278;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asterisk = 389;
+ e.plus = 584;
+ e.comma = 278;
+ e.hyphen = 333;
+ e.period = 278;
+ e.slash = 278;
+ e.zero = 556;
+ e.one = 556;
+ e.two = 556;
+ e.three = 556;
+ e.four = 556;
+ e.five = 556;
+ e.six = 556;
+ e.seven = 556;
+ e.eight = 556;
+ e.nine = 556;
+ e.colon = 333;
+ e.semicolon = 333;
+ e.less = 584;
+ e.equal = 584;
+ e.greater = 584;
+ e.question = 611;
+ e.at = 975;
+ e.A = 722;
+ e.B = 722;
+ e.C = 722;
+ e.D = 722;
+ e.E = 667;
+ e.F = 611;
+ e.G = 778;
+ e.H = 722;
+ e.I = 278;
+ e.J = 556;
+ e.K = 722;
+ e.L = 611;
+ e.M = 833;
+ e.N = 722;
+ e.O = 778;
+ e.P = 667;
+ e.Q = 778;
+ e.R = 722;
+ e.S = 667;
+ e.T = 611;
+ e.U = 722;
+ e.V = 667;
+ e.W = 944;
+ e.X = 667;
+ e.Y = 667;
+ e.Z = 611;
+ e.bracketleft = 333;
+ e.backslash = 278;
+ e.bracketright = 333;
+ e.asciicircum = 584;
+ e.underscore = 556;
+ e.quoteleft = 278;
+ e.a = 556;
+ e.b = 611;
+ e.c = 556;
+ e.d = 611;
+ e.e = 556;
+ e.f = 333;
+ e.g = 611;
+ e.h = 611;
+ e.i = 278;
+ e.j = 278;
+ e.k = 556;
+ e.l = 278;
+ e.m = 889;
+ e.n = 611;
+ e.o = 611;
+ e.p = 611;
+ e.q = 611;
+ e.r = 389;
+ e.s = 556;
+ e.t = 333;
+ e.u = 611;
+ e.v = 556;
+ e.w = 778;
+ e.x = 556;
+ e.y = 556;
+ e.z = 500;
+ e.braceleft = 389;
+ e.bar = 280;
+ e.braceright = 389;
+ e.asciitilde = 584;
+ e.exclamdown = 333;
+ e.cent = 556;
+ e.sterling = 556;
+ e.fraction = 167;
+ e.yen = 556;
+ e.florin = 556;
+ e.section = 556;
+ e.currency = 556;
+ e.quotesingle = 238;
+ e.quotedblleft = 500;
+ e.guillemotleft = 556;
+ e.guilsinglleft = 333;
+ e.guilsinglright = 333;
+ e.fi = 611;
+ e.fl = 611;
+ e.endash = 556;
+ e.dagger = 556;
+ e.daggerdbl = 556;
+ e.periodcentered = 278;
+ e.paragraph = 556;
+ e.bullet = 350;
+ e.quotesinglbase = 278;
+ e.quotedblbase = 500;
+ e.quotedblright = 500;
+ e.guillemotright = 556;
+ e.ellipsis = 1e3;
+ e.perthousand = 1e3;
+ e.questiondown = 611;
+ e.grave = 333;
+ e.acute = 333;
+ e.circumflex = 333;
+ e.tilde = 333;
+ e.macron = 333;
+ e.breve = 333;
+ e.dotaccent = 333;
+ e.dieresis = 333;
+ e.ring = 333;
+ e.cedilla = 333;
+ e.hungarumlaut = 333;
+ e.ogonek = 333;
+ e.caron = 333;
+ e.emdash = 1e3;
+ e.AE = 1e3;
+ e.ordfeminine = 370;
+ e.Lslash = 611;
+ e.Oslash = 778;
+ e.OE = 1e3;
+ e.ordmasculine = 365;
+ e.ae = 889;
+ e.dotlessi = 278;
+ e.lslash = 278;
+ e.oslash = 611;
+ e.oe = 944;
+ e.germandbls = 611;
+ e.Idieresis = 278;
+ e.eacute = 556;
+ e.abreve = 556;
+ e.uhungarumlaut = 611;
+ e.ecaron = 556;
+ e.Ydieresis = 667;
+ e.divide = 584;
+ e.Yacute = 667;
+ e.Acircumflex = 722;
+ e.aacute = 556;
+ e.Ucircumflex = 722;
+ e.yacute = 556;
+ e.scommaaccent = 556;
+ e.ecircumflex = 556;
+ e.Uring = 722;
+ e.Udieresis = 722;
+ e.aogonek = 556;
+ e.Uacute = 722;
+ e.uogonek = 611;
+ e.Edieresis = 667;
+ e.Dcroat = 722;
+ e.commaaccent = 250;
+ e.copyright = 737;
+ e.Emacron = 667;
+ e.ccaron = 556;
+ e.aring = 556;
+ e.Ncommaaccent = 722;
+ e.lacute = 278;
+ e.agrave = 556;
+ e.Tcommaaccent = 611;
+ e.Cacute = 722;
+ e.atilde = 556;
+ e.Edotaccent = 667;
+ e.scaron = 556;
+ e.scedilla = 556;
+ e.iacute = 278;
+ e.lozenge = 494;
+ e.Rcaron = 722;
+ e.Gcommaaccent = 778;
+ e.ucircumflex = 611;
+ e.acircumflex = 556;
+ e.Amacron = 722;
+ e.rcaron = 389;
+ e.ccedilla = 556;
+ e.Zdotaccent = 611;
+ e.Thorn = 667;
+ e.Omacron = 778;
+ e.Racute = 722;
+ e.Sacute = 667;
+ e.dcaron = 743;
+ e.Umacron = 722;
+ e.uring = 611;
+ e.threesuperior = 333;
+ e.Ograve = 778;
+ e.Agrave = 722;
+ e.Abreve = 722;
+ e.multiply = 584;
+ e.uacute = 611;
+ e.Tcaron = 611;
+ e.partialdiff = 494;
+ e.ydieresis = 556;
+ e.Nacute = 722;
+ e.icircumflex = 278;
+ e.Ecircumflex = 667;
+ e.adieresis = 556;
+ e.edieresis = 556;
+ e.cacute = 556;
+ e.nacute = 611;
+ e.umacron = 611;
+ e.Ncaron = 722;
+ e.Iacute = 278;
+ e.plusminus = 584;
+ e.brokenbar = 280;
+ e.registered = 737;
+ e.Gbreve = 778;
+ e.Idotaccent = 278;
+ e.summation = 600;
+ e.Egrave = 667;
+ e.racute = 389;
+ e.omacron = 611;
+ e.Zacute = 611;
+ e.Zcaron = 611;
+ e.greaterequal = 549;
+ e.Eth = 722;
+ e.Ccedilla = 722;
+ e.lcommaaccent = 278;
+ e.tcaron = 389;
+ e.eogonek = 556;
+ e.Uogonek = 722;
+ e.Aacute = 722;
+ e.Adieresis = 722;
+ e.egrave = 556;
+ e.zacute = 500;
+ e.iogonek = 278;
+ e.Oacute = 778;
+ e.oacute = 611;
+ e.amacron = 556;
+ e.sacute = 556;
+ e.idieresis = 278;
+ e.Ocircumflex = 778;
+ e.Ugrave = 722;
+ e.Delta = 612;
+ e.thorn = 611;
+ e.twosuperior = 333;
+ e.Odieresis = 778;
+ e.mu = 611;
+ e.igrave = 278;
+ e.ohungarumlaut = 611;
+ e.Eogonek = 667;
+ e.dcroat = 611;
+ e.threequarters = 834;
+ e.Scedilla = 667;
+ e.lcaron = 400;
+ e.Kcommaaccent = 722;
+ e.Lacute = 611;
+ e.trademark = 1e3;
+ e.edotaccent = 556;
+ e.Igrave = 278;
+ e.Imacron = 278;
+ e.Lcaron = 611;
+ e.onehalf = 834;
+ e.lessequal = 549;
+ e.ocircumflex = 611;
+ e.ntilde = 611;
+ e.Uhungarumlaut = 722;
+ e.Eacute = 667;
+ e.emacron = 556;
+ e.gbreve = 611;
+ e.onequarter = 834;
+ e.Scaron = 667;
+ e.Scommaaccent = 667;
+ e.Ohungarumlaut = 778;
+ e.degree = 400;
+ e.ograve = 611;
+ e.Ccaron = 722;
+ e.ugrave = 611;
+ e.radical = 549;
+ e.Dcaron = 722;
+ e.rcommaaccent = 389;
+ e.Ntilde = 722;
+ e.otilde = 611;
+ e.Rcommaaccent = 722;
+ e.Lcommaaccent = 611;
+ e.Atilde = 722;
+ e.Aogonek = 722;
+ e.Aring = 722;
+ e.Otilde = 778;
+ e.zdotaccent = 500;
+ e.Ecaron = 667;
+ e.Iogonek = 278;
+ e.kcommaaccent = 556;
+ e.minus = 584;
+ e.Icircumflex = 278;
+ e.ncaron = 611;
+ e.tcommaaccent = 333;
+ e.logicalnot = 584;
+ e.odieresis = 611;
+ e.udieresis = 611;
+ e.notequal = 549;
+ e.gcommaaccent = 611;
+ e.eth = 611;
+ e.zcaron = 500;
+ e.ncommaaccent = 611;
+ e.onesuperior = 333;
+ e.imacron = 278;
+ e.Euro = 556;
+ });
+ e['Helvetica-BoldOblique'] = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 278;
+ e.exclam = 333;
+ e.quotedbl = 474;
+ e.numbersign = 556;
+ e.dollar = 556;
+ e.percent = 889;
+ e.ampersand = 722;
+ e.quoteright = 278;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asterisk = 389;
+ e.plus = 584;
+ e.comma = 278;
+ e.hyphen = 333;
+ e.period = 278;
+ e.slash = 278;
+ e.zero = 556;
+ e.one = 556;
+ e.two = 556;
+ e.three = 556;
+ e.four = 556;
+ e.five = 556;
+ e.six = 556;
+ e.seven = 556;
+ e.eight = 556;
+ e.nine = 556;
+ e.colon = 333;
+ e.semicolon = 333;
+ e.less = 584;
+ e.equal = 584;
+ e.greater = 584;
+ e.question = 611;
+ e.at = 975;
+ e.A = 722;
+ e.B = 722;
+ e.C = 722;
+ e.D = 722;
+ e.E = 667;
+ e.F = 611;
+ e.G = 778;
+ e.H = 722;
+ e.I = 278;
+ e.J = 556;
+ e.K = 722;
+ e.L = 611;
+ e.M = 833;
+ e.N = 722;
+ e.O = 778;
+ e.P = 667;
+ e.Q = 778;
+ e.R = 722;
+ e.S = 667;
+ e.T = 611;
+ e.U = 722;
+ e.V = 667;
+ e.W = 944;
+ e.X = 667;
+ e.Y = 667;
+ e.Z = 611;
+ e.bracketleft = 333;
+ e.backslash = 278;
+ e.bracketright = 333;
+ e.asciicircum = 584;
+ e.underscore = 556;
+ e.quoteleft = 278;
+ e.a = 556;
+ e.b = 611;
+ e.c = 556;
+ e.d = 611;
+ e.e = 556;
+ e.f = 333;
+ e.g = 611;
+ e.h = 611;
+ e.i = 278;
+ e.j = 278;
+ e.k = 556;
+ e.l = 278;
+ e.m = 889;
+ e.n = 611;
+ e.o = 611;
+ e.p = 611;
+ e.q = 611;
+ e.r = 389;
+ e.s = 556;
+ e.t = 333;
+ e.u = 611;
+ e.v = 556;
+ e.w = 778;
+ e.x = 556;
+ e.y = 556;
+ e.z = 500;
+ e.braceleft = 389;
+ e.bar = 280;
+ e.braceright = 389;
+ e.asciitilde = 584;
+ e.exclamdown = 333;
+ e.cent = 556;
+ e.sterling = 556;
+ e.fraction = 167;
+ e.yen = 556;
+ e.florin = 556;
+ e.section = 556;
+ e.currency = 556;
+ e.quotesingle = 238;
+ e.quotedblleft = 500;
+ e.guillemotleft = 556;
+ e.guilsinglleft = 333;
+ e.guilsinglright = 333;
+ e.fi = 611;
+ e.fl = 611;
+ e.endash = 556;
+ e.dagger = 556;
+ e.daggerdbl = 556;
+ e.periodcentered = 278;
+ e.paragraph = 556;
+ e.bullet = 350;
+ e.quotesinglbase = 278;
+ e.quotedblbase = 500;
+ e.quotedblright = 500;
+ e.guillemotright = 556;
+ e.ellipsis = 1e3;
+ e.perthousand = 1e3;
+ e.questiondown = 611;
+ e.grave = 333;
+ e.acute = 333;
+ e.circumflex = 333;
+ e.tilde = 333;
+ e.macron = 333;
+ e.breve = 333;
+ e.dotaccent = 333;
+ e.dieresis = 333;
+ e.ring = 333;
+ e.cedilla = 333;
+ e.hungarumlaut = 333;
+ e.ogonek = 333;
+ e.caron = 333;
+ e.emdash = 1e3;
+ e.AE = 1e3;
+ e.ordfeminine = 370;
+ e.Lslash = 611;
+ e.Oslash = 778;
+ e.OE = 1e3;
+ e.ordmasculine = 365;
+ e.ae = 889;
+ e.dotlessi = 278;
+ e.lslash = 278;
+ e.oslash = 611;
+ e.oe = 944;
+ e.germandbls = 611;
+ e.Idieresis = 278;
+ e.eacute = 556;
+ e.abreve = 556;
+ e.uhungarumlaut = 611;
+ e.ecaron = 556;
+ e.Ydieresis = 667;
+ e.divide = 584;
+ e.Yacute = 667;
+ e.Acircumflex = 722;
+ e.aacute = 556;
+ e.Ucircumflex = 722;
+ e.yacute = 556;
+ e.scommaaccent = 556;
+ e.ecircumflex = 556;
+ e.Uring = 722;
+ e.Udieresis = 722;
+ e.aogonek = 556;
+ e.Uacute = 722;
+ e.uogonek = 611;
+ e.Edieresis = 667;
+ e.Dcroat = 722;
+ e.commaaccent = 250;
+ e.copyright = 737;
+ e.Emacron = 667;
+ e.ccaron = 556;
+ e.aring = 556;
+ e.Ncommaaccent = 722;
+ e.lacute = 278;
+ e.agrave = 556;
+ e.Tcommaaccent = 611;
+ e.Cacute = 722;
+ e.atilde = 556;
+ e.Edotaccent = 667;
+ e.scaron = 556;
+ e.scedilla = 556;
+ e.iacute = 278;
+ e.lozenge = 494;
+ e.Rcaron = 722;
+ e.Gcommaaccent = 778;
+ e.ucircumflex = 611;
+ e.acircumflex = 556;
+ e.Amacron = 722;
+ e.rcaron = 389;
+ e.ccedilla = 556;
+ e.Zdotaccent = 611;
+ e.Thorn = 667;
+ e.Omacron = 778;
+ e.Racute = 722;
+ e.Sacute = 667;
+ e.dcaron = 743;
+ e.Umacron = 722;
+ e.uring = 611;
+ e.threesuperior = 333;
+ e.Ograve = 778;
+ e.Agrave = 722;
+ e.Abreve = 722;
+ e.multiply = 584;
+ e.uacute = 611;
+ e.Tcaron = 611;
+ e.partialdiff = 494;
+ e.ydieresis = 556;
+ e.Nacute = 722;
+ e.icircumflex = 278;
+ e.Ecircumflex = 667;
+ e.adieresis = 556;
+ e.edieresis = 556;
+ e.cacute = 556;
+ e.nacute = 611;
+ e.umacron = 611;
+ e.Ncaron = 722;
+ e.Iacute = 278;
+ e.plusminus = 584;
+ e.brokenbar = 280;
+ e.registered = 737;
+ e.Gbreve = 778;
+ e.Idotaccent = 278;
+ e.summation = 600;
+ e.Egrave = 667;
+ e.racute = 389;
+ e.omacron = 611;
+ e.Zacute = 611;
+ e.Zcaron = 611;
+ e.greaterequal = 549;
+ e.Eth = 722;
+ e.Ccedilla = 722;
+ e.lcommaaccent = 278;
+ e.tcaron = 389;
+ e.eogonek = 556;
+ e.Uogonek = 722;
+ e.Aacute = 722;
+ e.Adieresis = 722;
+ e.egrave = 556;
+ e.zacute = 500;
+ e.iogonek = 278;
+ e.Oacute = 778;
+ e.oacute = 611;
+ e.amacron = 556;
+ e.sacute = 556;
+ e.idieresis = 278;
+ e.Ocircumflex = 778;
+ e.Ugrave = 722;
+ e.Delta = 612;
+ e.thorn = 611;
+ e.twosuperior = 333;
+ e.Odieresis = 778;
+ e.mu = 611;
+ e.igrave = 278;
+ e.ohungarumlaut = 611;
+ e.Eogonek = 667;
+ e.dcroat = 611;
+ e.threequarters = 834;
+ e.Scedilla = 667;
+ e.lcaron = 400;
+ e.Kcommaaccent = 722;
+ e.Lacute = 611;
+ e.trademark = 1e3;
+ e.edotaccent = 556;
+ e.Igrave = 278;
+ e.Imacron = 278;
+ e.Lcaron = 611;
+ e.onehalf = 834;
+ e.lessequal = 549;
+ e.ocircumflex = 611;
+ e.ntilde = 611;
+ e.Uhungarumlaut = 722;
+ e.Eacute = 667;
+ e.emacron = 556;
+ e.gbreve = 611;
+ e.onequarter = 834;
+ e.Scaron = 667;
+ e.Scommaaccent = 667;
+ e.Ohungarumlaut = 778;
+ e.degree = 400;
+ e.ograve = 611;
+ e.Ccaron = 722;
+ e.ugrave = 611;
+ e.radical = 549;
+ e.Dcaron = 722;
+ e.rcommaaccent = 389;
+ e.Ntilde = 722;
+ e.otilde = 611;
+ e.Rcommaaccent = 722;
+ e.Lcommaaccent = 611;
+ e.Atilde = 722;
+ e.Aogonek = 722;
+ e.Aring = 722;
+ e.Otilde = 778;
+ e.zdotaccent = 500;
+ e.Ecaron = 667;
+ e.Iogonek = 278;
+ e.kcommaaccent = 556;
+ e.minus = 584;
+ e.Icircumflex = 278;
+ e.ncaron = 611;
+ e.tcommaaccent = 333;
+ e.logicalnot = 584;
+ e.odieresis = 611;
+ e.udieresis = 611;
+ e.notequal = 549;
+ e.gcommaaccent = 611;
+ e.eth = 611;
+ e.zcaron = 500;
+ e.ncommaaccent = 611;
+ e.onesuperior = 333;
+ e.imacron = 278;
+ e.Euro = 556;
+ });
+ e['Helvetica-Oblique'] = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 278;
+ e.exclam = 278;
+ e.quotedbl = 355;
+ e.numbersign = 556;
+ e.dollar = 556;
+ e.percent = 889;
+ e.ampersand = 667;
+ e.quoteright = 222;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asterisk = 389;
+ e.plus = 584;
+ e.comma = 278;
+ e.hyphen = 333;
+ e.period = 278;
+ e.slash = 278;
+ e.zero = 556;
+ e.one = 556;
+ e.two = 556;
+ e.three = 556;
+ e.four = 556;
+ e.five = 556;
+ e.six = 556;
+ e.seven = 556;
+ e.eight = 556;
+ e.nine = 556;
+ e.colon = 278;
+ e.semicolon = 278;
+ e.less = 584;
+ e.equal = 584;
+ e.greater = 584;
+ e.question = 556;
+ e.at = 1015;
+ e.A = 667;
+ e.B = 667;
+ e.C = 722;
+ e.D = 722;
+ e.E = 667;
+ e.F = 611;
+ e.G = 778;
+ e.H = 722;
+ e.I = 278;
+ e.J = 500;
+ e.K = 667;
+ e.L = 556;
+ e.M = 833;
+ e.N = 722;
+ e.O = 778;
+ e.P = 667;
+ e.Q = 778;
+ e.R = 722;
+ e.S = 667;
+ e.T = 611;
+ e.U = 722;
+ e.V = 667;
+ e.W = 944;
+ e.X = 667;
+ e.Y = 667;
+ e.Z = 611;
+ e.bracketleft = 278;
+ e.backslash = 278;
+ e.bracketright = 278;
+ e.asciicircum = 469;
+ e.underscore = 556;
+ e.quoteleft = 222;
+ e.a = 556;
+ e.b = 556;
+ e.c = 500;
+ e.d = 556;
+ e.e = 556;
+ e.f = 278;
+ e.g = 556;
+ e.h = 556;
+ e.i = 222;
+ e.j = 222;
+ e.k = 500;
+ e.l = 222;
+ e.m = 833;
+ e.n = 556;
+ e.o = 556;
+ e.p = 556;
+ e.q = 556;
+ e.r = 333;
+ e.s = 500;
+ e.t = 278;
+ e.u = 556;
+ e.v = 500;
+ e.w = 722;
+ e.x = 500;
+ e.y = 500;
+ e.z = 500;
+ e.braceleft = 334;
+ e.bar = 260;
+ e.braceright = 334;
+ e.asciitilde = 584;
+ e.exclamdown = 333;
+ e.cent = 556;
+ e.sterling = 556;
+ e.fraction = 167;
+ e.yen = 556;
+ e.florin = 556;
+ e.section = 556;
+ e.currency = 556;
+ e.quotesingle = 191;
+ e.quotedblleft = 333;
+ e.guillemotleft = 556;
+ e.guilsinglleft = 333;
+ e.guilsinglright = 333;
+ e.fi = 500;
+ e.fl = 500;
+ e.endash = 556;
+ e.dagger = 556;
+ e.daggerdbl = 556;
+ e.periodcentered = 278;
+ e.paragraph = 537;
+ e.bullet = 350;
+ e.quotesinglbase = 222;
+ e.quotedblbase = 333;
+ e.quotedblright = 333;
+ e.guillemotright = 556;
+ e.ellipsis = 1e3;
+ e.perthousand = 1e3;
+ e.questiondown = 611;
+ e.grave = 333;
+ e.acute = 333;
+ e.circumflex = 333;
+ e.tilde = 333;
+ e.macron = 333;
+ e.breve = 333;
+ e.dotaccent = 333;
+ e.dieresis = 333;
+ e.ring = 333;
+ e.cedilla = 333;
+ e.hungarumlaut = 333;
+ e.ogonek = 333;
+ e.caron = 333;
+ e.emdash = 1e3;
+ e.AE = 1e3;
+ e.ordfeminine = 370;
+ e.Lslash = 556;
+ e.Oslash = 778;
+ e.OE = 1e3;
+ e.ordmasculine = 365;
+ e.ae = 889;
+ e.dotlessi = 278;
+ e.lslash = 222;
+ e.oslash = 611;
+ e.oe = 944;
+ e.germandbls = 611;
+ e.Idieresis = 278;
+ e.eacute = 556;
+ e.abreve = 556;
+ e.uhungarumlaut = 556;
+ e.ecaron = 556;
+ e.Ydieresis = 667;
+ e.divide = 584;
+ e.Yacute = 667;
+ e.Acircumflex = 667;
+ e.aacute = 556;
+ e.Ucircumflex = 722;
+ e.yacute = 500;
+ e.scommaaccent = 500;
+ e.ecircumflex = 556;
+ e.Uring = 722;
+ e.Udieresis = 722;
+ e.aogonek = 556;
+ e.Uacute = 722;
+ e.uogonek = 556;
+ e.Edieresis = 667;
+ e.Dcroat = 722;
+ e.commaaccent = 250;
+ e.copyright = 737;
+ e.Emacron = 667;
+ e.ccaron = 500;
+ e.aring = 556;
+ e.Ncommaaccent = 722;
+ e.lacute = 222;
+ e.agrave = 556;
+ e.Tcommaaccent = 611;
+ e.Cacute = 722;
+ e.atilde = 556;
+ e.Edotaccent = 667;
+ e.scaron = 500;
+ e.scedilla = 500;
+ e.iacute = 278;
+ e.lozenge = 471;
+ e.Rcaron = 722;
+ e.Gcommaaccent = 778;
+ e.ucircumflex = 556;
+ e.acircumflex = 556;
+ e.Amacron = 667;
+ e.rcaron = 333;
+ e.ccedilla = 500;
+ e.Zdotaccent = 611;
+ e.Thorn = 667;
+ e.Omacron = 778;
+ e.Racute = 722;
+ e.Sacute = 667;
+ e.dcaron = 643;
+ e.Umacron = 722;
+ e.uring = 556;
+ e.threesuperior = 333;
+ e.Ograve = 778;
+ e.Agrave = 667;
+ e.Abreve = 667;
+ e.multiply = 584;
+ e.uacute = 556;
+ e.Tcaron = 611;
+ e.partialdiff = 476;
+ e.ydieresis = 500;
+ e.Nacute = 722;
+ e.icircumflex = 278;
+ e.Ecircumflex = 667;
+ e.adieresis = 556;
+ e.edieresis = 556;
+ e.cacute = 500;
+ e.nacute = 556;
+ e.umacron = 556;
+ e.Ncaron = 722;
+ e.Iacute = 278;
+ e.plusminus = 584;
+ e.brokenbar = 260;
+ e.registered = 737;
+ e.Gbreve = 778;
+ e.Idotaccent = 278;
+ e.summation = 600;
+ e.Egrave = 667;
+ e.racute = 333;
+ e.omacron = 556;
+ e.Zacute = 611;
+ e.Zcaron = 611;
+ e.greaterequal = 549;
+ e.Eth = 722;
+ e.Ccedilla = 722;
+ e.lcommaaccent = 222;
+ e.tcaron = 317;
+ e.eogonek = 556;
+ e.Uogonek = 722;
+ e.Aacute = 667;
+ e.Adieresis = 667;
+ e.egrave = 556;
+ e.zacute = 500;
+ e.iogonek = 222;
+ e.Oacute = 778;
+ e.oacute = 556;
+ e.amacron = 556;
+ e.sacute = 500;
+ e.idieresis = 278;
+ e.Ocircumflex = 778;
+ e.Ugrave = 722;
+ e.Delta = 612;
+ e.thorn = 556;
+ e.twosuperior = 333;
+ e.Odieresis = 778;
+ e.mu = 556;
+ e.igrave = 278;
+ e.ohungarumlaut = 556;
+ e.Eogonek = 667;
+ e.dcroat = 556;
+ e.threequarters = 834;
+ e.Scedilla = 667;
+ e.lcaron = 299;
+ e.Kcommaaccent = 667;
+ e.Lacute = 556;
+ e.trademark = 1e3;
+ e.edotaccent = 556;
+ e.Igrave = 278;
+ e.Imacron = 278;
+ e.Lcaron = 556;
+ e.onehalf = 834;
+ e.lessequal = 549;
+ e.ocircumflex = 556;
+ e.ntilde = 556;
+ e.Uhungarumlaut = 722;
+ e.Eacute = 667;
+ e.emacron = 556;
+ e.gbreve = 556;
+ e.onequarter = 834;
+ e.Scaron = 667;
+ e.Scommaaccent = 667;
+ e.Ohungarumlaut = 778;
+ e.degree = 400;
+ e.ograve = 556;
+ e.Ccaron = 722;
+ e.ugrave = 556;
+ e.radical = 453;
+ e.Dcaron = 722;
+ e.rcommaaccent = 333;
+ e.Ntilde = 722;
+ e.otilde = 556;
+ e.Rcommaaccent = 722;
+ e.Lcommaaccent = 556;
+ e.Atilde = 667;
+ e.Aogonek = 667;
+ e.Aring = 667;
+ e.Otilde = 778;
+ e.zdotaccent = 500;
+ e.Ecaron = 667;
+ e.Iogonek = 278;
+ e.kcommaaccent = 500;
+ e.minus = 584;
+ e.Icircumflex = 278;
+ e.ncaron = 556;
+ e.tcommaaccent = 278;
+ e.logicalnot = 584;
+ e.odieresis = 556;
+ e.udieresis = 556;
+ e.notequal = 549;
+ e.gcommaaccent = 556;
+ e.eth = 556;
+ e.zcaron = 500;
+ e.ncommaaccent = 556;
+ e.onesuperior = 333;
+ e.imacron = 278;
+ e.Euro = 556;
+ });
+ e.Symbol = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 250;
+ e.exclam = 333;
+ e.universal = 713;
+ e.numbersign = 500;
+ e.existential = 549;
+ e.percent = 833;
+ e.ampersand = 778;
+ e.suchthat = 439;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asteriskmath = 500;
+ e.plus = 549;
+ e.comma = 250;
+ e.minus = 549;
+ e.period = 250;
+ e.slash = 278;
+ e.zero = 500;
+ e.one = 500;
+ e.two = 500;
+ e.three = 500;
+ e.four = 500;
+ e.five = 500;
+ e.six = 500;
+ e.seven = 500;
+ e.eight = 500;
+ e.nine = 500;
+ e.colon = 278;
+ e.semicolon = 278;
+ e.less = 549;
+ e.equal = 549;
+ e.greater = 549;
+ e.question = 444;
+ e.congruent = 549;
+ e.Alpha = 722;
+ e.Beta = 667;
+ e.Chi = 722;
+ e.Delta = 612;
+ e.Epsilon = 611;
+ e.Phi = 763;
+ e.Gamma = 603;
+ e.Eta = 722;
+ e.Iota = 333;
+ e.theta1 = 631;
+ e.Kappa = 722;
+ e.Lambda = 686;
+ e.Mu = 889;
+ e.Nu = 722;
+ e.Omicron = 722;
+ e.Pi = 768;
+ e.Theta = 741;
+ e.Rho = 556;
+ e.Sigma = 592;
+ e.Tau = 611;
+ e.Upsilon = 690;
+ e.sigma1 = 439;
+ e.Omega = 768;
+ e.Xi = 645;
+ e.Psi = 795;
+ e.Zeta = 611;
+ e.bracketleft = 333;
+ e.therefore = 863;
+ e.bracketright = 333;
+ e.perpendicular = 658;
+ e.underscore = 500;
+ e.radicalex = 500;
+ e.alpha = 631;
+ e.beta = 549;
+ e.chi = 549;
+ e.delta = 494;
+ e.epsilon = 439;
+ e.phi = 521;
+ e.gamma = 411;
+ e.eta = 603;
+ e.iota = 329;
+ e.phi1 = 603;
+ e.kappa = 549;
+ e.lambda = 549;
+ e.mu = 576;
+ e.nu = 521;
+ e.omicron = 549;
+ e.pi = 549;
+ e.theta = 521;
+ e.rho = 549;
+ e.sigma = 603;
+ e.tau = 439;
+ e.upsilon = 576;
+ e.omega1 = 713;
+ e.omega = 686;
+ e.xi = 493;
+ e.psi = 686;
+ e.zeta = 494;
+ e.braceleft = 480;
+ e.bar = 200;
+ e.braceright = 480;
+ e.similar = 549;
+ e.Euro = 750;
+ e.Upsilon1 = 620;
+ e.minute = 247;
+ e.lessequal = 549;
+ e.fraction = 167;
+ e.infinity = 713;
+ e.florin = 500;
+ e.club = 753;
+ e.diamond = 753;
+ e.heart = 753;
+ e.spade = 753;
+ e.arrowboth = 1042;
+ e.arrowleft = 987;
+ e.arrowup = 603;
+ e.arrowright = 987;
+ e.arrowdown = 603;
+ e.degree = 400;
+ e.plusminus = 549;
+ e.second = 411;
+ e.greaterequal = 549;
+ e.multiply = 549;
+ e.proportional = 713;
+ e.partialdiff = 494;
+ e.bullet = 460;
+ e.divide = 549;
+ e.notequal = 549;
+ e.equivalence = 549;
+ e.approxequal = 549;
+ e.ellipsis = 1e3;
+ e.arrowvertex = 603;
+ e.arrowhorizex = 1e3;
+ e.carriagereturn = 658;
+ e.aleph = 823;
+ e.Ifraktur = 686;
+ e.Rfraktur = 795;
+ e.weierstrass = 987;
+ e.circlemultiply = 768;
+ e.circleplus = 768;
+ e.emptyset = 823;
+ e.intersection = 768;
+ e.union = 768;
+ e.propersuperset = 713;
+ e.reflexsuperset = 713;
+ e.notsubset = 713;
+ e.propersubset = 713;
+ e.reflexsubset = 713;
+ e.element = 713;
+ e.notelement = 713;
+ e.angle = 768;
+ e.gradient = 713;
+ e.registerserif = 790;
+ e.copyrightserif = 790;
+ e.trademarkserif = 890;
+ e.product = 823;
+ e.radical = 549;
+ e.dotmath = 250;
+ e.logicalnot = 713;
+ e.logicaland = 603;
+ e.logicalor = 603;
+ e.arrowdblboth = 1042;
+ e.arrowdblleft = 987;
+ e.arrowdblup = 603;
+ e.arrowdblright = 987;
+ e.arrowdbldown = 603;
+ e.lozenge = 494;
+ e.angleleft = 329;
+ e.registersans = 790;
+ e.copyrightsans = 790;
+ e.trademarksans = 786;
+ e.summation = 713;
+ e.parenlefttp = 384;
+ e.parenleftex = 384;
+ e.parenleftbt = 384;
+ e.bracketlefttp = 384;
+ e.bracketleftex = 384;
+ e.bracketleftbt = 384;
+ e.bracelefttp = 494;
+ e.braceleftmid = 494;
+ e.braceleftbt = 494;
+ e.braceex = 494;
+ e.angleright = 329;
+ e.integral = 274;
+ e.integraltp = 686;
+ e.integralex = 686;
+ e.integralbt = 686;
+ e.parenrighttp = 384;
+ e.parenrightex = 384;
+ e.parenrightbt = 384;
+ e.bracketrighttp = 384;
+ e.bracketrightex = 384;
+ e.bracketrightbt = 384;
+ e.bracerighttp = 494;
+ e.bracerightmid = 494;
+ e.bracerightbt = 494;
+ e.apple = 790;
+ });
+ e['Times-Roman'] = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 250;
+ e.exclam = 333;
+ e.quotedbl = 408;
+ e.numbersign = 500;
+ e.dollar = 500;
+ e.percent = 833;
+ e.ampersand = 778;
+ e.quoteright = 333;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asterisk = 500;
+ e.plus = 564;
+ e.comma = 250;
+ e.hyphen = 333;
+ e.period = 250;
+ e.slash = 278;
+ e.zero = 500;
+ e.one = 500;
+ e.two = 500;
+ e.three = 500;
+ e.four = 500;
+ e.five = 500;
+ e.six = 500;
+ e.seven = 500;
+ e.eight = 500;
+ e.nine = 500;
+ e.colon = 278;
+ e.semicolon = 278;
+ e.less = 564;
+ e.equal = 564;
+ e.greater = 564;
+ e.question = 444;
+ e.at = 921;
+ e.A = 722;
+ e.B = 667;
+ e.C = 667;
+ e.D = 722;
+ e.E = 611;
+ e.F = 556;
+ e.G = 722;
+ e.H = 722;
+ e.I = 333;
+ e.J = 389;
+ e.K = 722;
+ e.L = 611;
+ e.M = 889;
+ e.N = 722;
+ e.O = 722;
+ e.P = 556;
+ e.Q = 722;
+ e.R = 667;
+ e.S = 556;
+ e.T = 611;
+ e.U = 722;
+ e.V = 722;
+ e.W = 944;
+ e.X = 722;
+ e.Y = 722;
+ e.Z = 611;
+ e.bracketleft = 333;
+ e.backslash = 278;
+ e.bracketright = 333;
+ e.asciicircum = 469;
+ e.underscore = 500;
+ e.quoteleft = 333;
+ e.a = 444;
+ e.b = 500;
+ e.c = 444;
+ e.d = 500;
+ e.e = 444;
+ e.f = 333;
+ e.g = 500;
+ e.h = 500;
+ e.i = 278;
+ e.j = 278;
+ e.k = 500;
+ e.l = 278;
+ e.m = 778;
+ e.n = 500;
+ e.o = 500;
+ e.p = 500;
+ e.q = 500;
+ e.r = 333;
+ e.s = 389;
+ e.t = 278;
+ e.u = 500;
+ e.v = 500;
+ e.w = 722;
+ e.x = 500;
+ e.y = 500;
+ e.z = 444;
+ e.braceleft = 480;
+ e.bar = 200;
+ e.braceright = 480;
+ e.asciitilde = 541;
+ e.exclamdown = 333;
+ e.cent = 500;
+ e.sterling = 500;
+ e.fraction = 167;
+ e.yen = 500;
+ e.florin = 500;
+ e.section = 500;
+ e.currency = 500;
+ e.quotesingle = 180;
+ e.quotedblleft = 444;
+ e.guillemotleft = 500;
+ e.guilsinglleft = 333;
+ e.guilsinglright = 333;
+ e.fi = 556;
+ e.fl = 556;
+ e.endash = 500;
+ e.dagger = 500;
+ e.daggerdbl = 500;
+ e.periodcentered = 250;
+ e.paragraph = 453;
+ e.bullet = 350;
+ e.quotesinglbase = 333;
+ e.quotedblbase = 444;
+ e.quotedblright = 444;
+ e.guillemotright = 500;
+ e.ellipsis = 1e3;
+ e.perthousand = 1e3;
+ e.questiondown = 444;
+ e.grave = 333;
+ e.acute = 333;
+ e.circumflex = 333;
+ e.tilde = 333;
+ e.macron = 333;
+ e.breve = 333;
+ e.dotaccent = 333;
+ e.dieresis = 333;
+ e.ring = 333;
+ e.cedilla = 333;
+ e.hungarumlaut = 333;
+ e.ogonek = 333;
+ e.caron = 333;
+ e.emdash = 1e3;
+ e.AE = 889;
+ e.ordfeminine = 276;
+ e.Lslash = 611;
+ e.Oslash = 722;
+ e.OE = 889;
+ e.ordmasculine = 310;
+ e.ae = 667;
+ e.dotlessi = 278;
+ e.lslash = 278;
+ e.oslash = 500;
+ e.oe = 722;
+ e.germandbls = 500;
+ e.Idieresis = 333;
+ e.eacute = 444;
+ e.abreve = 444;
+ e.uhungarumlaut = 500;
+ e.ecaron = 444;
+ e.Ydieresis = 722;
+ e.divide = 564;
+ e.Yacute = 722;
+ e.Acircumflex = 722;
+ e.aacute = 444;
+ e.Ucircumflex = 722;
+ e.yacute = 500;
+ e.scommaaccent = 389;
+ e.ecircumflex = 444;
+ e.Uring = 722;
+ e.Udieresis = 722;
+ e.aogonek = 444;
+ e.Uacute = 722;
+ e.uogonek = 500;
+ e.Edieresis = 611;
+ e.Dcroat = 722;
+ e.commaaccent = 250;
+ e.copyright = 760;
+ e.Emacron = 611;
+ e.ccaron = 444;
+ e.aring = 444;
+ e.Ncommaaccent = 722;
+ e.lacute = 278;
+ e.agrave = 444;
+ e.Tcommaaccent = 611;
+ e.Cacute = 667;
+ e.atilde = 444;
+ e.Edotaccent = 611;
+ e.scaron = 389;
+ e.scedilla = 389;
+ e.iacute = 278;
+ e.lozenge = 471;
+ e.Rcaron = 667;
+ e.Gcommaaccent = 722;
+ e.ucircumflex = 500;
+ e.acircumflex = 444;
+ e.Amacron = 722;
+ e.rcaron = 333;
+ e.ccedilla = 444;
+ e.Zdotaccent = 611;
+ e.Thorn = 556;
+ e.Omacron = 722;
+ e.Racute = 667;
+ e.Sacute = 556;
+ e.dcaron = 588;
+ e.Umacron = 722;
+ e.uring = 500;
+ e.threesuperior = 300;
+ e.Ograve = 722;
+ e.Agrave = 722;
+ e.Abreve = 722;
+ e.multiply = 564;
+ e.uacute = 500;
+ e.Tcaron = 611;
+ e.partialdiff = 476;
+ e.ydieresis = 500;
+ e.Nacute = 722;
+ e.icircumflex = 278;
+ e.Ecircumflex = 611;
+ e.adieresis = 444;
+ e.edieresis = 444;
+ e.cacute = 444;
+ e.nacute = 500;
+ e.umacron = 500;
+ e.Ncaron = 722;
+ e.Iacute = 333;
+ e.plusminus = 564;
+ e.brokenbar = 200;
+ e.registered = 760;
+ e.Gbreve = 722;
+ e.Idotaccent = 333;
+ e.summation = 600;
+ e.Egrave = 611;
+ e.racute = 333;
+ e.omacron = 500;
+ e.Zacute = 611;
+ e.Zcaron = 611;
+ e.greaterequal = 549;
+ e.Eth = 722;
+ e.Ccedilla = 667;
+ e.lcommaaccent = 278;
+ e.tcaron = 326;
+ e.eogonek = 444;
+ e.Uogonek = 722;
+ e.Aacute = 722;
+ e.Adieresis = 722;
+ e.egrave = 444;
+ e.zacute = 444;
+ e.iogonek = 278;
+ e.Oacute = 722;
+ e.oacute = 500;
+ e.amacron = 444;
+ e.sacute = 389;
+ e.idieresis = 278;
+ e.Ocircumflex = 722;
+ e.Ugrave = 722;
+ e.Delta = 612;
+ e.thorn = 500;
+ e.twosuperior = 300;
+ e.Odieresis = 722;
+ e.mu = 500;
+ e.igrave = 278;
+ e.ohungarumlaut = 500;
+ e.Eogonek = 611;
+ e.dcroat = 500;
+ e.threequarters = 750;
+ e.Scedilla = 556;
+ e.lcaron = 344;
+ e.Kcommaaccent = 722;
+ e.Lacute = 611;
+ e.trademark = 980;
+ e.edotaccent = 444;
+ e.Igrave = 333;
+ e.Imacron = 333;
+ e.Lcaron = 611;
+ e.onehalf = 750;
+ e.lessequal = 549;
+ e.ocircumflex = 500;
+ e.ntilde = 500;
+ e.Uhungarumlaut = 722;
+ e.Eacute = 611;
+ e.emacron = 444;
+ e.gbreve = 500;
+ e.onequarter = 750;
+ e.Scaron = 556;
+ e.Scommaaccent = 556;
+ e.Ohungarumlaut = 722;
+ e.degree = 400;
+ e.ograve = 500;
+ e.Ccaron = 667;
+ e.ugrave = 500;
+ e.radical = 453;
+ e.Dcaron = 722;
+ e.rcommaaccent = 333;
+ e.Ntilde = 722;
+ e.otilde = 500;
+ e.Rcommaaccent = 667;
+ e.Lcommaaccent = 611;
+ e.Atilde = 722;
+ e.Aogonek = 722;
+ e.Aring = 722;
+ e.Otilde = 722;
+ e.zdotaccent = 444;
+ e.Ecaron = 611;
+ e.Iogonek = 333;
+ e.kcommaaccent = 500;
+ e.minus = 564;
+ e.Icircumflex = 333;
+ e.ncaron = 500;
+ e.tcommaaccent = 278;
+ e.logicalnot = 564;
+ e.odieresis = 500;
+ e.udieresis = 500;
+ e.notequal = 549;
+ e.gcommaaccent = 500;
+ e.eth = 500;
+ e.zcaron = 444;
+ e.ncommaaccent = 500;
+ e.onesuperior = 300;
+ e.imacron = 278;
+ e.Euro = 500;
+ });
+ e['Times-Bold'] = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 250;
+ e.exclam = 333;
+ e.quotedbl = 555;
+ e.numbersign = 500;
+ e.dollar = 500;
+ e.percent = 1e3;
+ e.ampersand = 833;
+ e.quoteright = 333;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asterisk = 500;
+ e.plus = 570;
+ e.comma = 250;
+ e.hyphen = 333;
+ e.period = 250;
+ e.slash = 278;
+ e.zero = 500;
+ e.one = 500;
+ e.two = 500;
+ e.three = 500;
+ e.four = 500;
+ e.five = 500;
+ e.six = 500;
+ e.seven = 500;
+ e.eight = 500;
+ e.nine = 500;
+ e.colon = 333;
+ e.semicolon = 333;
+ e.less = 570;
+ e.equal = 570;
+ e.greater = 570;
+ e.question = 500;
+ e.at = 930;
+ e.A = 722;
+ e.B = 667;
+ e.C = 722;
+ e.D = 722;
+ e.E = 667;
+ e.F = 611;
+ e.G = 778;
+ e.H = 778;
+ e.I = 389;
+ e.J = 500;
+ e.K = 778;
+ e.L = 667;
+ e.M = 944;
+ e.N = 722;
+ e.O = 778;
+ e.P = 611;
+ e.Q = 778;
+ e.R = 722;
+ e.S = 556;
+ e.T = 667;
+ e.U = 722;
+ e.V = 722;
+ e.W = 1e3;
+ e.X = 722;
+ e.Y = 722;
+ e.Z = 667;
+ e.bracketleft = 333;
+ e.backslash = 278;
+ e.bracketright = 333;
+ e.asciicircum = 581;
+ e.underscore = 500;
+ e.quoteleft = 333;
+ e.a = 500;
+ e.b = 556;
+ e.c = 444;
+ e.d = 556;
+ e.e = 444;
+ e.f = 333;
+ e.g = 500;
+ e.h = 556;
+ e.i = 278;
+ e.j = 333;
+ e.k = 556;
+ e.l = 278;
+ e.m = 833;
+ e.n = 556;
+ e.o = 500;
+ e.p = 556;
+ e.q = 556;
+ e.r = 444;
+ e.s = 389;
+ e.t = 333;
+ e.u = 556;
+ e.v = 500;
+ e.w = 722;
+ e.x = 500;
+ e.y = 500;
+ e.z = 444;
+ e.braceleft = 394;
+ e.bar = 220;
+ e.braceright = 394;
+ e.asciitilde = 520;
+ e.exclamdown = 333;
+ e.cent = 500;
+ e.sterling = 500;
+ e.fraction = 167;
+ e.yen = 500;
+ e.florin = 500;
+ e.section = 500;
+ e.currency = 500;
+ e.quotesingle = 278;
+ e.quotedblleft = 500;
+ e.guillemotleft = 500;
+ e.guilsinglleft = 333;
+ e.guilsinglright = 333;
+ e.fi = 556;
+ e.fl = 556;
+ e.endash = 500;
+ e.dagger = 500;
+ e.daggerdbl = 500;
+ e.periodcentered = 250;
+ e.paragraph = 540;
+ e.bullet = 350;
+ e.quotesinglbase = 333;
+ e.quotedblbase = 500;
+ e.quotedblright = 500;
+ e.guillemotright = 500;
+ e.ellipsis = 1e3;
+ e.perthousand = 1e3;
+ e.questiondown = 500;
+ e.grave = 333;
+ e.acute = 333;
+ e.circumflex = 333;
+ e.tilde = 333;
+ e.macron = 333;
+ e.breve = 333;
+ e.dotaccent = 333;
+ e.dieresis = 333;
+ e.ring = 333;
+ e.cedilla = 333;
+ e.hungarumlaut = 333;
+ e.ogonek = 333;
+ e.caron = 333;
+ e.emdash = 1e3;
+ e.AE = 1e3;
+ e.ordfeminine = 300;
+ e.Lslash = 667;
+ e.Oslash = 778;
+ e.OE = 1e3;
+ e.ordmasculine = 330;
+ e.ae = 722;
+ e.dotlessi = 278;
+ e.lslash = 278;
+ e.oslash = 500;
+ e.oe = 722;
+ e.germandbls = 556;
+ e.Idieresis = 389;
+ e.eacute = 444;
+ e.abreve = 500;
+ e.uhungarumlaut = 556;
+ e.ecaron = 444;
+ e.Ydieresis = 722;
+ e.divide = 570;
+ e.Yacute = 722;
+ e.Acircumflex = 722;
+ e.aacute = 500;
+ e.Ucircumflex = 722;
+ e.yacute = 500;
+ e.scommaaccent = 389;
+ e.ecircumflex = 444;
+ e.Uring = 722;
+ e.Udieresis = 722;
+ e.aogonek = 500;
+ e.Uacute = 722;
+ e.uogonek = 556;
+ e.Edieresis = 667;
+ e.Dcroat = 722;
+ e.commaaccent = 250;
+ e.copyright = 747;
+ e.Emacron = 667;
+ e.ccaron = 444;
+ e.aring = 500;
+ e.Ncommaaccent = 722;
+ e.lacute = 278;
+ e.agrave = 500;
+ e.Tcommaaccent = 667;
+ e.Cacute = 722;
+ e.atilde = 500;
+ e.Edotaccent = 667;
+ e.scaron = 389;
+ e.scedilla = 389;
+ e.iacute = 278;
+ e.lozenge = 494;
+ e.Rcaron = 722;
+ e.Gcommaaccent = 778;
+ e.ucircumflex = 556;
+ e.acircumflex = 500;
+ e.Amacron = 722;
+ e.rcaron = 444;
+ e.ccedilla = 444;
+ e.Zdotaccent = 667;
+ e.Thorn = 611;
+ e.Omacron = 778;
+ e.Racute = 722;
+ e.Sacute = 556;
+ e.dcaron = 672;
+ e.Umacron = 722;
+ e.uring = 556;
+ e.threesuperior = 300;
+ e.Ograve = 778;
+ e.Agrave = 722;
+ e.Abreve = 722;
+ e.multiply = 570;
+ e.uacute = 556;
+ e.Tcaron = 667;
+ e.partialdiff = 494;
+ e.ydieresis = 500;
+ e.Nacute = 722;
+ e.icircumflex = 278;
+ e.Ecircumflex = 667;
+ e.adieresis = 500;
+ e.edieresis = 444;
+ e.cacute = 444;
+ e.nacute = 556;
+ e.umacron = 556;
+ e.Ncaron = 722;
+ e.Iacute = 389;
+ e.plusminus = 570;
+ e.brokenbar = 220;
+ e.registered = 747;
+ e.Gbreve = 778;
+ e.Idotaccent = 389;
+ e.summation = 600;
+ e.Egrave = 667;
+ e.racute = 444;
+ e.omacron = 500;
+ e.Zacute = 667;
+ e.Zcaron = 667;
+ e.greaterequal = 549;
+ e.Eth = 722;
+ e.Ccedilla = 722;
+ e.lcommaaccent = 278;
+ e.tcaron = 416;
+ e.eogonek = 444;
+ e.Uogonek = 722;
+ e.Aacute = 722;
+ e.Adieresis = 722;
+ e.egrave = 444;
+ e.zacute = 444;
+ e.iogonek = 278;
+ e.Oacute = 778;
+ e.oacute = 500;
+ e.amacron = 500;
+ e.sacute = 389;
+ e.idieresis = 278;
+ e.Ocircumflex = 778;
+ e.Ugrave = 722;
+ e.Delta = 612;
+ e.thorn = 556;
+ e.twosuperior = 300;
+ e.Odieresis = 778;
+ e.mu = 556;
+ e.igrave = 278;
+ e.ohungarumlaut = 500;
+ e.Eogonek = 667;
+ e.dcroat = 556;
+ e.threequarters = 750;
+ e.Scedilla = 556;
+ e.lcaron = 394;
+ e.Kcommaaccent = 778;
+ e.Lacute = 667;
+ e.trademark = 1e3;
+ e.edotaccent = 444;
+ e.Igrave = 389;
+ e.Imacron = 389;
+ e.Lcaron = 667;
+ e.onehalf = 750;
+ e.lessequal = 549;
+ e.ocircumflex = 500;
+ e.ntilde = 556;
+ e.Uhungarumlaut = 722;
+ e.Eacute = 667;
+ e.emacron = 444;
+ e.gbreve = 500;
+ e.onequarter = 750;
+ e.Scaron = 556;
+ e.Scommaaccent = 556;
+ e.Ohungarumlaut = 778;
+ e.degree = 400;
+ e.ograve = 500;
+ e.Ccaron = 722;
+ e.ugrave = 556;
+ e.radical = 549;
+ e.Dcaron = 722;
+ e.rcommaaccent = 444;
+ e.Ntilde = 722;
+ e.otilde = 500;
+ e.Rcommaaccent = 722;
+ e.Lcommaaccent = 667;
+ e.Atilde = 722;
+ e.Aogonek = 722;
+ e.Aring = 722;
+ e.Otilde = 778;
+ e.zdotaccent = 444;
+ e.Ecaron = 667;
+ e.Iogonek = 389;
+ e.kcommaaccent = 556;
+ e.minus = 570;
+ e.Icircumflex = 389;
+ e.ncaron = 556;
+ e.tcommaaccent = 333;
+ e.logicalnot = 570;
+ e.odieresis = 500;
+ e.udieresis = 556;
+ e.notequal = 549;
+ e.gcommaaccent = 500;
+ e.eth = 500;
+ e.zcaron = 444;
+ e.ncommaaccent = 556;
+ e.onesuperior = 300;
+ e.imacron = 278;
+ e.Euro = 500;
+ });
+ e['Times-BoldItalic'] = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 250;
+ e.exclam = 389;
+ e.quotedbl = 555;
+ e.numbersign = 500;
+ e.dollar = 500;
+ e.percent = 833;
+ e.ampersand = 778;
+ e.quoteright = 333;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asterisk = 500;
+ e.plus = 570;
+ e.comma = 250;
+ e.hyphen = 333;
+ e.period = 250;
+ e.slash = 278;
+ e.zero = 500;
+ e.one = 500;
+ e.two = 500;
+ e.three = 500;
+ e.four = 500;
+ e.five = 500;
+ e.six = 500;
+ e.seven = 500;
+ e.eight = 500;
+ e.nine = 500;
+ e.colon = 333;
+ e.semicolon = 333;
+ e.less = 570;
+ e.equal = 570;
+ e.greater = 570;
+ e.question = 500;
+ e.at = 832;
+ e.A = 667;
+ e.B = 667;
+ e.C = 667;
+ e.D = 722;
+ e.E = 667;
+ e.F = 667;
+ e.G = 722;
+ e.H = 778;
+ e.I = 389;
+ e.J = 500;
+ e.K = 667;
+ e.L = 611;
+ e.M = 889;
+ e.N = 722;
+ e.O = 722;
+ e.P = 611;
+ e.Q = 722;
+ e.R = 667;
+ e.S = 556;
+ e.T = 611;
+ e.U = 722;
+ e.V = 667;
+ e.W = 889;
+ e.X = 667;
+ e.Y = 611;
+ e.Z = 611;
+ e.bracketleft = 333;
+ e.backslash = 278;
+ e.bracketright = 333;
+ e.asciicircum = 570;
+ e.underscore = 500;
+ e.quoteleft = 333;
+ e.a = 500;
+ e.b = 500;
+ e.c = 444;
+ e.d = 500;
+ e.e = 444;
+ e.f = 333;
+ e.g = 500;
+ e.h = 556;
+ e.i = 278;
+ e.j = 278;
+ e.k = 500;
+ e.l = 278;
+ e.m = 778;
+ e.n = 556;
+ e.o = 500;
+ e.p = 500;
+ e.q = 500;
+ e.r = 389;
+ e.s = 389;
+ e.t = 278;
+ e.u = 556;
+ e.v = 444;
+ e.w = 667;
+ e.x = 500;
+ e.y = 444;
+ e.z = 389;
+ e.braceleft = 348;
+ e.bar = 220;
+ e.braceright = 348;
+ e.asciitilde = 570;
+ e.exclamdown = 389;
+ e.cent = 500;
+ e.sterling = 500;
+ e.fraction = 167;
+ e.yen = 500;
+ e.florin = 500;
+ e.section = 500;
+ e.currency = 500;
+ e.quotesingle = 278;
+ e.quotedblleft = 500;
+ e.guillemotleft = 500;
+ e.guilsinglleft = 333;
+ e.guilsinglright = 333;
+ e.fi = 556;
+ e.fl = 556;
+ e.endash = 500;
+ e.dagger = 500;
+ e.daggerdbl = 500;
+ e.periodcentered = 250;
+ e.paragraph = 500;
+ e.bullet = 350;
+ e.quotesinglbase = 333;
+ e.quotedblbase = 500;
+ e.quotedblright = 500;
+ e.guillemotright = 500;
+ e.ellipsis = 1e3;
+ e.perthousand = 1e3;
+ e.questiondown = 500;
+ e.grave = 333;
+ e.acute = 333;
+ e.circumflex = 333;
+ e.tilde = 333;
+ e.macron = 333;
+ e.breve = 333;
+ e.dotaccent = 333;
+ e.dieresis = 333;
+ e.ring = 333;
+ e.cedilla = 333;
+ e.hungarumlaut = 333;
+ e.ogonek = 333;
+ e.caron = 333;
+ e.emdash = 1e3;
+ e.AE = 944;
+ e.ordfeminine = 266;
+ e.Lslash = 611;
+ e.Oslash = 722;
+ e.OE = 944;
+ e.ordmasculine = 300;
+ e.ae = 722;
+ e.dotlessi = 278;
+ e.lslash = 278;
+ e.oslash = 500;
+ e.oe = 722;
+ e.germandbls = 500;
+ e.Idieresis = 389;
+ e.eacute = 444;
+ e.abreve = 500;
+ e.uhungarumlaut = 556;
+ e.ecaron = 444;
+ e.Ydieresis = 611;
+ e.divide = 570;
+ e.Yacute = 611;
+ e.Acircumflex = 667;
+ e.aacute = 500;
+ e.Ucircumflex = 722;
+ e.yacute = 444;
+ e.scommaaccent = 389;
+ e.ecircumflex = 444;
+ e.Uring = 722;
+ e.Udieresis = 722;
+ e.aogonek = 500;
+ e.Uacute = 722;
+ e.uogonek = 556;
+ e.Edieresis = 667;
+ e.Dcroat = 722;
+ e.commaaccent = 250;
+ e.copyright = 747;
+ e.Emacron = 667;
+ e.ccaron = 444;
+ e.aring = 500;
+ e.Ncommaaccent = 722;
+ e.lacute = 278;
+ e.agrave = 500;
+ e.Tcommaaccent = 611;
+ e.Cacute = 667;
+ e.atilde = 500;
+ e.Edotaccent = 667;
+ e.scaron = 389;
+ e.scedilla = 389;
+ e.iacute = 278;
+ e.lozenge = 494;
+ e.Rcaron = 667;
+ e.Gcommaaccent = 722;
+ e.ucircumflex = 556;
+ e.acircumflex = 500;
+ e.Amacron = 667;
+ e.rcaron = 389;
+ e.ccedilla = 444;
+ e.Zdotaccent = 611;
+ e.Thorn = 611;
+ e.Omacron = 722;
+ e.Racute = 667;
+ e.Sacute = 556;
+ e.dcaron = 608;
+ e.Umacron = 722;
+ e.uring = 556;
+ e.threesuperior = 300;
+ e.Ograve = 722;
+ e.Agrave = 667;
+ e.Abreve = 667;
+ e.multiply = 570;
+ e.uacute = 556;
+ e.Tcaron = 611;
+ e.partialdiff = 494;
+ e.ydieresis = 444;
+ e.Nacute = 722;
+ e.icircumflex = 278;
+ e.Ecircumflex = 667;
+ e.adieresis = 500;
+ e.edieresis = 444;
+ e.cacute = 444;
+ e.nacute = 556;
+ e.umacron = 556;
+ e.Ncaron = 722;
+ e.Iacute = 389;
+ e.plusminus = 570;
+ e.brokenbar = 220;
+ e.registered = 747;
+ e.Gbreve = 722;
+ e.Idotaccent = 389;
+ e.summation = 600;
+ e.Egrave = 667;
+ e.racute = 389;
+ e.omacron = 500;
+ e.Zacute = 611;
+ e.Zcaron = 611;
+ e.greaterequal = 549;
+ e.Eth = 722;
+ e.Ccedilla = 667;
+ e.lcommaaccent = 278;
+ e.tcaron = 366;
+ e.eogonek = 444;
+ e.Uogonek = 722;
+ e.Aacute = 667;
+ e.Adieresis = 667;
+ e.egrave = 444;
+ e.zacute = 389;
+ e.iogonek = 278;
+ e.Oacute = 722;
+ e.oacute = 500;
+ e.amacron = 500;
+ e.sacute = 389;
+ e.idieresis = 278;
+ e.Ocircumflex = 722;
+ e.Ugrave = 722;
+ e.Delta = 612;
+ e.thorn = 500;
+ e.twosuperior = 300;
+ e.Odieresis = 722;
+ e.mu = 576;
+ e.igrave = 278;
+ e.ohungarumlaut = 500;
+ e.Eogonek = 667;
+ e.dcroat = 500;
+ e.threequarters = 750;
+ e.Scedilla = 556;
+ e.lcaron = 382;
+ e.Kcommaaccent = 667;
+ e.Lacute = 611;
+ e.trademark = 1e3;
+ e.edotaccent = 444;
+ e.Igrave = 389;
+ e.Imacron = 389;
+ e.Lcaron = 611;
+ e.onehalf = 750;
+ e.lessequal = 549;
+ e.ocircumflex = 500;
+ e.ntilde = 556;
+ e.Uhungarumlaut = 722;
+ e.Eacute = 667;
+ e.emacron = 444;
+ e.gbreve = 500;
+ e.onequarter = 750;
+ e.Scaron = 556;
+ e.Scommaaccent = 556;
+ e.Ohungarumlaut = 722;
+ e.degree = 400;
+ e.ograve = 500;
+ e.Ccaron = 667;
+ e.ugrave = 556;
+ e.radical = 549;
+ e.Dcaron = 722;
+ e.rcommaaccent = 389;
+ e.Ntilde = 722;
+ e.otilde = 500;
+ e.Rcommaaccent = 667;
+ e.Lcommaaccent = 611;
+ e.Atilde = 667;
+ e.Aogonek = 667;
+ e.Aring = 667;
+ e.Otilde = 722;
+ e.zdotaccent = 389;
+ e.Ecaron = 667;
+ e.Iogonek = 389;
+ e.kcommaaccent = 500;
+ e.minus = 606;
+ e.Icircumflex = 389;
+ e.ncaron = 556;
+ e.tcommaaccent = 278;
+ e.logicalnot = 606;
+ e.odieresis = 500;
+ e.udieresis = 556;
+ e.notequal = 549;
+ e.gcommaaccent = 500;
+ e.eth = 500;
+ e.zcaron = 389;
+ e.ncommaaccent = 556;
+ e.onesuperior = 300;
+ e.imacron = 278;
+ e.Euro = 500;
+ });
+ e['Times-Italic'] = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 250;
+ e.exclam = 333;
+ e.quotedbl = 420;
+ e.numbersign = 500;
+ e.dollar = 500;
+ e.percent = 833;
+ e.ampersand = 778;
+ e.quoteright = 333;
+ e.parenleft = 333;
+ e.parenright = 333;
+ e.asterisk = 500;
+ e.plus = 675;
+ e.comma = 250;
+ e.hyphen = 333;
+ e.period = 250;
+ e.slash = 278;
+ e.zero = 500;
+ e.one = 500;
+ e.two = 500;
+ e.three = 500;
+ e.four = 500;
+ e.five = 500;
+ e.six = 500;
+ e.seven = 500;
+ e.eight = 500;
+ e.nine = 500;
+ e.colon = 333;
+ e.semicolon = 333;
+ e.less = 675;
+ e.equal = 675;
+ e.greater = 675;
+ e.question = 500;
+ e.at = 920;
+ e.A = 611;
+ e.B = 611;
+ e.C = 667;
+ e.D = 722;
+ e.E = 611;
+ e.F = 611;
+ e.G = 722;
+ e.H = 722;
+ e.I = 333;
+ e.J = 444;
+ e.K = 667;
+ e.L = 556;
+ e.M = 833;
+ e.N = 667;
+ e.O = 722;
+ e.P = 611;
+ e.Q = 722;
+ e.R = 611;
+ e.S = 500;
+ e.T = 556;
+ e.U = 722;
+ e.V = 611;
+ e.W = 833;
+ e.X = 611;
+ e.Y = 556;
+ e.Z = 556;
+ e.bracketleft = 389;
+ e.backslash = 278;
+ e.bracketright = 389;
+ e.asciicircum = 422;
+ e.underscore = 500;
+ e.quoteleft = 333;
+ e.a = 500;
+ e.b = 500;
+ e.c = 444;
+ e.d = 500;
+ e.e = 444;
+ e.f = 278;
+ e.g = 500;
+ e.h = 500;
+ e.i = 278;
+ e.j = 278;
+ e.k = 444;
+ e.l = 278;
+ e.m = 722;
+ e.n = 500;
+ e.o = 500;
+ e.p = 500;
+ e.q = 500;
+ e.r = 389;
+ e.s = 389;
+ e.t = 278;
+ e.u = 500;
+ e.v = 444;
+ e.w = 667;
+ e.x = 444;
+ e.y = 444;
+ e.z = 389;
+ e.braceleft = 400;
+ e.bar = 275;
+ e.braceright = 400;
+ e.asciitilde = 541;
+ e.exclamdown = 389;
+ e.cent = 500;
+ e.sterling = 500;
+ e.fraction = 167;
+ e.yen = 500;
+ e.florin = 500;
+ e.section = 500;
+ e.currency = 500;
+ e.quotesingle = 214;
+ e.quotedblleft = 556;
+ e.guillemotleft = 500;
+ e.guilsinglleft = 333;
+ e.guilsinglright = 333;
+ e.fi = 500;
+ e.fl = 500;
+ e.endash = 500;
+ e.dagger = 500;
+ e.daggerdbl = 500;
+ e.periodcentered = 250;
+ e.paragraph = 523;
+ e.bullet = 350;
+ e.quotesinglbase = 333;
+ e.quotedblbase = 556;
+ e.quotedblright = 556;
+ e.guillemotright = 500;
+ e.ellipsis = 889;
+ e.perthousand = 1e3;
+ e.questiondown = 500;
+ e.grave = 333;
+ e.acute = 333;
+ e.circumflex = 333;
+ e.tilde = 333;
+ e.macron = 333;
+ e.breve = 333;
+ e.dotaccent = 333;
+ e.dieresis = 333;
+ e.ring = 333;
+ e.cedilla = 333;
+ e.hungarumlaut = 333;
+ e.ogonek = 333;
+ e.caron = 333;
+ e.emdash = 889;
+ e.AE = 889;
+ e.ordfeminine = 276;
+ e.Lslash = 556;
+ e.Oslash = 722;
+ e.OE = 944;
+ e.ordmasculine = 310;
+ e.ae = 667;
+ e.dotlessi = 278;
+ e.lslash = 278;
+ e.oslash = 500;
+ e.oe = 667;
+ e.germandbls = 500;
+ e.Idieresis = 333;
+ e.eacute = 444;
+ e.abreve = 500;
+ e.uhungarumlaut = 500;
+ e.ecaron = 444;
+ e.Ydieresis = 556;
+ e.divide = 675;
+ e.Yacute = 556;
+ e.Acircumflex = 611;
+ e.aacute = 500;
+ e.Ucircumflex = 722;
+ e.yacute = 444;
+ e.scommaaccent = 389;
+ e.ecircumflex = 444;
+ e.Uring = 722;
+ e.Udieresis = 722;
+ e.aogonek = 500;
+ e.Uacute = 722;
+ e.uogonek = 500;
+ e.Edieresis = 611;
+ e.Dcroat = 722;
+ e.commaaccent = 250;
+ e.copyright = 760;
+ e.Emacron = 611;
+ e.ccaron = 444;
+ e.aring = 500;
+ e.Ncommaaccent = 667;
+ e.lacute = 278;
+ e.agrave = 500;
+ e.Tcommaaccent = 556;
+ e.Cacute = 667;
+ e.atilde = 500;
+ e.Edotaccent = 611;
+ e.scaron = 389;
+ e.scedilla = 389;
+ e.iacute = 278;
+ e.lozenge = 471;
+ e.Rcaron = 611;
+ e.Gcommaaccent = 722;
+ e.ucircumflex = 500;
+ e.acircumflex = 500;
+ e.Amacron = 611;
+ e.rcaron = 389;
+ e.ccedilla = 444;
+ e.Zdotaccent = 556;
+ e.Thorn = 611;
+ e.Omacron = 722;
+ e.Racute = 611;
+ e.Sacute = 500;
+ e.dcaron = 544;
+ e.Umacron = 722;
+ e.uring = 500;
+ e.threesuperior = 300;
+ e.Ograve = 722;
+ e.Agrave = 611;
+ e.Abreve = 611;
+ e.multiply = 675;
+ e.uacute = 500;
+ e.Tcaron = 556;
+ e.partialdiff = 476;
+ e.ydieresis = 444;
+ e.Nacute = 667;
+ e.icircumflex = 278;
+ e.Ecircumflex = 611;
+ e.adieresis = 500;
+ e.edieresis = 444;
+ e.cacute = 444;
+ e.nacute = 500;
+ e.umacron = 500;
+ e.Ncaron = 667;
+ e.Iacute = 333;
+ e.plusminus = 675;
+ e.brokenbar = 275;
+ e.registered = 760;
+ e.Gbreve = 722;
+ e.Idotaccent = 333;
+ e.summation = 600;
+ e.Egrave = 611;
+ e.racute = 389;
+ e.omacron = 500;
+ e.Zacute = 556;
+ e.Zcaron = 556;
+ e.greaterequal = 549;
+ e.Eth = 722;
+ e.Ccedilla = 667;
+ e.lcommaaccent = 278;
+ e.tcaron = 300;
+ e.eogonek = 444;
+ e.Uogonek = 722;
+ e.Aacute = 611;
+ e.Adieresis = 611;
+ e.egrave = 444;
+ e.zacute = 389;
+ e.iogonek = 278;
+ e.Oacute = 722;
+ e.oacute = 500;
+ e.amacron = 500;
+ e.sacute = 389;
+ e.idieresis = 278;
+ e.Ocircumflex = 722;
+ e.Ugrave = 722;
+ e.Delta = 612;
+ e.thorn = 500;
+ e.twosuperior = 300;
+ e.Odieresis = 722;
+ e.mu = 500;
+ e.igrave = 278;
+ e.ohungarumlaut = 500;
+ e.Eogonek = 611;
+ e.dcroat = 500;
+ e.threequarters = 750;
+ e.Scedilla = 500;
+ e.lcaron = 300;
+ e.Kcommaaccent = 667;
+ e.Lacute = 556;
+ e.trademark = 980;
+ e.edotaccent = 444;
+ e.Igrave = 333;
+ e.Imacron = 333;
+ e.Lcaron = 611;
+ e.onehalf = 750;
+ e.lessequal = 549;
+ e.ocircumflex = 500;
+ e.ntilde = 500;
+ e.Uhungarumlaut = 722;
+ e.Eacute = 611;
+ e.emacron = 444;
+ e.gbreve = 500;
+ e.onequarter = 750;
+ e.Scaron = 500;
+ e.Scommaaccent = 500;
+ e.Ohungarumlaut = 722;
+ e.degree = 400;
+ e.ograve = 500;
+ e.Ccaron = 667;
+ e.ugrave = 500;
+ e.radical = 453;
+ e.Dcaron = 722;
+ e.rcommaaccent = 389;
+ e.Ntilde = 667;
+ e.otilde = 500;
+ e.Rcommaaccent = 611;
+ e.Lcommaaccent = 556;
+ e.Atilde = 611;
+ e.Aogonek = 611;
+ e.Aring = 611;
+ e.Otilde = 722;
+ e.zdotaccent = 389;
+ e.Ecaron = 611;
+ e.Iogonek = 333;
+ e.kcommaaccent = 444;
+ e.minus = 675;
+ e.Icircumflex = 333;
+ e.ncaron = 500;
+ e.tcommaaccent = 278;
+ e.logicalnot = 675;
+ e.odieresis = 500;
+ e.udieresis = 500;
+ e.notequal = 549;
+ e.gcommaaccent = 500;
+ e.eth = 500;
+ e.zcaron = 389;
+ e.ncommaaccent = 500;
+ e.onesuperior = 300;
+ e.imacron = 278;
+ e.Euro = 500;
+ });
+ e.ZapfDingbats = (0, r.getLookupTableFactory)(function (e) {
+ e.space = 278;
+ e.a1 = 974;
+ e.a2 = 961;
+ e.a202 = 974;
+ e.a3 = 980;
+ e.a4 = 719;
+ e.a5 = 789;
+ e.a119 = 790;
+ e.a118 = 791;
+ e.a117 = 690;
+ e.a11 = 960;
+ e.a12 = 939;
+ e.a13 = 549;
+ e.a14 = 855;
+ e.a15 = 911;
+ e.a16 = 933;
+ e.a105 = 911;
+ e.a17 = 945;
+ e.a18 = 974;
+ e.a19 = 755;
+ e.a20 = 846;
+ e.a21 = 762;
+ e.a22 = 761;
+ e.a23 = 571;
+ e.a24 = 677;
+ e.a25 = 763;
+ e.a26 = 760;
+ e.a27 = 759;
+ e.a28 = 754;
+ e.a6 = 494;
+ e.a7 = 552;
+ e.a8 = 537;
+ e.a9 = 577;
+ e.a10 = 692;
+ e.a29 = 786;
+ e.a30 = 788;
+ e.a31 = 788;
+ e.a32 = 790;
+ e.a33 = 793;
+ e.a34 = 794;
+ e.a35 = 816;
+ e.a36 = 823;
+ e.a37 = 789;
+ e.a38 = 841;
+ e.a39 = 823;
+ e.a40 = 833;
+ e.a41 = 816;
+ e.a42 = 831;
+ e.a43 = 923;
+ e.a44 = 744;
+ e.a45 = 723;
+ e.a46 = 749;
+ e.a47 = 790;
+ e.a48 = 792;
+ e.a49 = 695;
+ e.a50 = 776;
+ e.a51 = 768;
+ e.a52 = 792;
+ e.a53 = 759;
+ e.a54 = 707;
+ e.a55 = 708;
+ e.a56 = 682;
+ e.a57 = 701;
+ e.a58 = 826;
+ e.a59 = 815;
+ e.a60 = 789;
+ e.a61 = 789;
+ e.a62 = 707;
+ e.a63 = 687;
+ e.a64 = 696;
+ e.a65 = 689;
+ e.a66 = 786;
+ e.a67 = 787;
+ e.a68 = 713;
+ e.a69 = 791;
+ e.a70 = 785;
+ e.a71 = 791;
+ e.a72 = 873;
+ e.a73 = 761;
+ e.a74 = 762;
+ e.a203 = 762;
+ e.a75 = 759;
+ e.a204 = 759;
+ e.a76 = 892;
+ e.a77 = 892;
+ e.a78 = 788;
+ e.a79 = 784;
+ e.a81 = 438;
+ e.a82 = 138;
+ e.a83 = 277;
+ e.a84 = 415;
+ e.a97 = 392;
+ e.a98 = 392;
+ e.a99 = 668;
+ e.a100 = 668;
+ e.a89 = 390;
+ e.a90 = 390;
+ e.a93 = 317;
+ e.a94 = 317;
+ e.a91 = 276;
+ e.a92 = 276;
+ e.a205 = 509;
+ e.a85 = 509;
+ e.a206 = 410;
+ e.a86 = 410;
+ e.a87 = 234;
+ e.a88 = 234;
+ e.a95 = 334;
+ e.a96 = 334;
+ e.a101 = 732;
+ e.a102 = 544;
+ e.a103 = 544;
+ e.a104 = 910;
+ e.a106 = 667;
+ e.a107 = 760;
+ e.a108 = 760;
+ e.a112 = 776;
+ e.a111 = 595;
+ e.a110 = 694;
+ e.a109 = 626;
+ e.a120 = 788;
+ e.a121 = 788;
+ e.a122 = 788;
+ e.a123 = 788;
+ e.a124 = 788;
+ e.a125 = 788;
+ e.a126 = 788;
+ e.a127 = 788;
+ e.a128 = 788;
+ e.a129 = 788;
+ e.a130 = 788;
+ e.a131 = 788;
+ e.a132 = 788;
+ e.a133 = 788;
+ e.a134 = 788;
+ e.a135 = 788;
+ e.a136 = 788;
+ e.a137 = 788;
+ e.a138 = 788;
+ e.a139 = 788;
+ e.a140 = 788;
+ e.a141 = 788;
+ e.a142 = 788;
+ e.a143 = 788;
+ e.a144 = 788;
+ e.a145 = 788;
+ e.a146 = 788;
+ e.a147 = 788;
+ e.a148 = 788;
+ e.a149 = 788;
+ e.a150 = 788;
+ e.a151 = 788;
+ e.a152 = 788;
+ e.a153 = 788;
+ e.a154 = 788;
+ e.a155 = 788;
+ e.a156 = 788;
+ e.a157 = 788;
+ e.a158 = 788;
+ e.a159 = 788;
+ e.a160 = 894;
+ e.a161 = 838;
+ e.a163 = 1016;
+ e.a164 = 458;
+ e.a196 = 748;
+ e.a165 = 924;
+ e.a192 = 748;
+ e.a166 = 918;
+ e.a167 = 927;
+ e.a168 = 928;
+ e.a169 = 928;
+ e.a170 = 834;
+ e.a171 = 873;
+ e.a172 = 828;
+ e.a173 = 924;
+ e.a162 = 924;
+ e.a174 = 917;
+ e.a175 = 930;
+ e.a176 = 931;
+ e.a177 = 463;
+ e.a178 = 883;
+ e.a179 = 836;
+ e.a193 = 836;
+ e.a180 = 867;
+ e.a199 = 867;
+ e.a181 = 696;
+ e.a200 = 696;
+ e.a182 = 874;
+ e.a201 = 874;
+ e.a183 = 760;
+ e.a184 = 946;
+ e.a197 = 771;
+ e.a185 = 865;
+ e.a194 = 771;
+ e.a198 = 888;
+ e.a186 = 967;
+ e.a195 = 888;
+ e.a187 = 831;
+ e.a188 = 873;
+ e.a189 = 927;
+ e.a190 = 970;
+ e.a191 = 918;
+ });
+ });
+ t.getMetrics = n;
+ const i = (0, r.getLookupTableFactory)(function (e) {
+ e.Courier = {ascent: 629, descent: -157, capHeight: 562, xHeight: -426};
+ e['Courier-Bold'] = {ascent: 629, descent: -157, capHeight: 562, xHeight: 439};
+ e['Courier-Oblique'] = {ascent: 629, descent: -157, capHeight: 562, xHeight: 426};
+ e['Courier-BoldOblique'] = {ascent: 629, descent: -157, capHeight: 562, xHeight: 426};
+ e.Helvetica = {ascent: 718, descent: -207, capHeight: 718, xHeight: 523};
+ e['Helvetica-Bold'] = {ascent: 718, descent: -207, capHeight: 718, xHeight: 532};
+ e['Helvetica-Oblique'] = {ascent: 718, descent: -207, capHeight: 718, xHeight: 523};
+ e['Helvetica-BoldOblique'] = {ascent: 718, descent: -207, capHeight: 718, xHeight: 532};
+ e['Times-Roman'] = {ascent: 683, descent: -217, capHeight: 662, xHeight: 450};
+ e['Times-Bold'] = {ascent: 683, descent: -217, capHeight: 676, xHeight: 461};
+ e['Times-Italic'] = {ascent: 683, descent: -217, capHeight: 653, xHeight: 441};
+ e['Times-BoldItalic'] = {ascent: 683, descent: -217, capHeight: 669, xHeight: 462};
+ e.Symbol = {ascent: Math.NaN, descent: Math.NaN, capHeight: Math.NaN, xHeight: Math.NaN};
+ e.ZapfDingbats = {ascent: Math.NaN, descent: Math.NaN, capHeight: Math.NaN, xHeight: Math.NaN};
+ });
+ t.getFontBasicMetrics = i;
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.GlyfTable = void 0;
+ t.GlyfTable = class GlyfTable {
+ constructor({glyfTable: e, isGlyphLocationsLong: t, locaTable: a, numGlyphs: r}) {
+ this.glyphs = [];
+ const n = new DataView(a.buffer, a.byteOffset, a.byteLength),
+ i = new DataView(e.buffer, e.byteOffset, e.byteLength),
+ s = t ? 4 : 2;
+ let o = t ? n.getUint32(0) : 2 * n.getUint16(0),
+ c = 0;
+ for (let e = 0; e < r; e++) {
+ c += s;
+ const e = t ? n.getUint32(c) : 2 * n.getUint16(c);
+ if (e === o) {
+ this.glyphs.push(new Glyph({}));
+ continue;
+ }
+ const a = Glyph.parse(o, i);
+ this.glyphs.push(a);
+ o = e;
+ }
+ }
+ getSize() {
+ return this.glyphs.reduce((e, t) => e + ((t.getSize() + 3) & -4), 0);
+ }
+ write() {
+ const e = this.getSize(),
+ t = new DataView(new ArrayBuffer(e)),
+ a = e > 131070,
+ r = a ? 4 : 2,
+ n = new DataView(new ArrayBuffer((this.glyphs.length + 1) * r));
+ a ? n.setUint32(0, 0) : n.setUint16(0, 0);
+ let i = 0,
+ s = 0;
+ for (const e of this.glyphs) {
+ i += e.write(i, t);
+ i = (i + 3) & -4;
+ s += r;
+ a ? n.setUint32(s, i) : n.setUint16(s, i >> 1);
+ }
+ return {isLocationLong: a, loca: new Uint8Array(n.buffer), glyf: new Uint8Array(t.buffer)};
+ }
+ scale(e) {
+ for (let t = 0, a = this.glyphs.length; t < a; t++) this.glyphs[t].scale(e[t]);
+ }
+ };
+ class Glyph {
+ constructor({header: e = null, simple: t = null, composites: a = null}) {
+ this.header = e;
+ this.simple = t;
+ this.composites = a;
+ }
+ static parse(e, t) {
+ const [a, r] = GlyphHeader.parse(e, t);
+ e += a;
+ if (r.numberOfContours < 0) {
+ const a = [];
+ for (;;) {
+ const [r, n] = CompositeGlyph.parse(e, t);
+ e += r;
+ a.push(n);
+ if (!(32 & n.flags)) break;
+ }
+ return new Glyph({header: r, composites: a});
+ }
+ const n = SimpleGlyph.parse(e, t, r.numberOfContours);
+ return new Glyph({header: r, simple: n});
+ }
+ getSize() {
+ if (!this.header) return 0;
+ const e = this.simple ? this.simple.getSize() : this.composites.reduce((e, t) => e + t.getSize(), 0);
+ return this.header.getSize() + e;
+ }
+ write(e, t) {
+ if (!this.header) return 0;
+ const a = e;
+ e += this.header.write(e, t);
+ if (this.simple) e += this.simple.write(e, t);
+ else for (const a of this.composites) e += a.write(e, t);
+ return e - a;
+ }
+ scale(e) {
+ if (!this.header) return;
+ const t = (this.header.xMin + this.header.xMax) / 2;
+ this.header.scale(t, e);
+ if (this.simple) this.simple.scale(t, e);
+ else for (const a of this.composites) a.scale(t, e);
+ }
+ }
+ class GlyphHeader {
+ constructor({numberOfContours: e, xMin: t, yMin: a, xMax: r, yMax: n}) {
+ this.numberOfContours = e;
+ this.xMin = t;
+ this.yMin = a;
+ this.xMax = r;
+ this.yMax = n;
+ }
+ static parse(e, t) {
+ return [
+ 10,
+ new GlyphHeader({
+ numberOfContours: t.getInt16(e),
+ xMin: t.getInt16(e + 2),
+ yMin: t.getInt16(e + 4),
+ xMax: t.getInt16(e + 6),
+ yMax: t.getInt16(e + 8),
+ }),
+ ];
+ }
+ getSize() {
+ return 10;
+ }
+ write(e, t) {
+ t.setInt16(e, this.numberOfContours);
+ t.setInt16(e + 2, this.xMin);
+ t.setInt16(e + 4, this.yMin);
+ t.setInt16(e + 6, this.xMax);
+ t.setInt16(e + 8, this.yMax);
+ return 10;
+ }
+ scale(e, t) {
+ this.xMin = Math.round(e + (this.xMin - e) * t);
+ this.xMax = Math.round(e + (this.xMax - e) * t);
+ }
+ }
+ class Contour {
+ constructor({flags: e, xCoordinates: t, yCoordinates: a}) {
+ this.xCoordinates = t;
+ this.yCoordinates = a;
+ this.flags = e;
+ }
+ }
+ class SimpleGlyph {
+ constructor({contours: e, instructions: t}) {
+ this.contours = e;
+ this.instructions = t;
+ }
+ static parse(e, t, a) {
+ const r = [];
+ for (let n = 0; n < a; n++) {
+ const a = t.getUint16(e);
+ e += 2;
+ r.push(a);
+ }
+ const n = r[a - 1] + 1,
+ i = t.getUint16(e);
+ e += 2;
+ const s = new Uint8Array(t).slice(e, e + i);
+ e += i;
+ const o = [];
+ for (let a = 0; a < n; e++, a++) {
+ let r = t.getUint8(e);
+ o.push(r);
+ if (8 & r) {
+ const n = t.getUint8(++e);
+ r ^= 8;
+ for (let e = 0; e < n; e++) o.push(r);
+ a += n;
+ }
+ }
+ const c = [];
+ let l = [],
+ h = [],
+ u = [];
+ const d = [];
+ let f = 0,
+ g = 0;
+ for (let a = 0; a < n; a++) {
+ const n = o[a];
+ if (2 & n) {
+ const a = t.getUint8(e++);
+ g += 16 & n ? a : -a;
+ l.push(g);
+ } else if (16 & n) l.push(g);
+ else {
+ g += t.getInt16(e);
+ e += 2;
+ l.push(g);
+ }
+ if (r[f] === a) {
+ f++;
+ c.push(l);
+ l = [];
+ }
+ }
+ g = 0;
+ f = 0;
+ for (let a = 0; a < n; a++) {
+ const n = o[a];
+ if (4 & n) {
+ const a = t.getUint8(e++);
+ g += 32 & n ? a : -a;
+ h.push(g);
+ } else if (32 & n) h.push(g);
+ else {
+ g += t.getInt16(e);
+ e += 2;
+ h.push(g);
+ }
+ u.push((1 & n) | (64 & n));
+ if (r[f] === a) {
+ l = c[f];
+ f++;
+ d.push(new Contour({flags: u, xCoordinates: l, yCoordinates: h}));
+ h = [];
+ u = [];
+ }
+ }
+ return new SimpleGlyph({contours: d, instructions: s});
+ }
+ getSize() {
+ let e = 2 * this.contours.length + 2 + this.instructions.length,
+ t = 0,
+ a = 0;
+ for (const r of this.contours) {
+ e += r.flags.length;
+ for (let n = 0, i = r.xCoordinates.length; n < i; n++) {
+ const i = r.xCoordinates[n],
+ s = r.yCoordinates[n];
+ let o = Math.abs(i - t);
+ o > 255 ? (e += 2) : o > 0 && (e += 1);
+ t = i;
+ o = Math.abs(s - a);
+ o > 255 ? (e += 2) : o > 0 && (e += 1);
+ a = s;
+ }
+ }
+ return e;
+ }
+ write(e, t) {
+ const a = e,
+ r = [],
+ n = [],
+ i = [];
+ let s = 0,
+ o = 0;
+ for (const a of this.contours) {
+ for (let e = 0, t = a.xCoordinates.length; e < t; e++) {
+ let t = a.flags[e];
+ const c = a.xCoordinates[e];
+ let l = c - s;
+ if (0 === l) {
+ t |= 16;
+ r.push(0);
+ } else {
+ const e = Math.abs(l);
+ if (e <= 255) {
+ t |= l >= 0 ? 18 : 2;
+ r.push(e);
+ } else r.push(l);
+ }
+ s = c;
+ const h = a.yCoordinates[e];
+ l = h - o;
+ if (0 === l) {
+ t |= 32;
+ n.push(0);
+ } else {
+ const e = Math.abs(l);
+ if (e <= 255) {
+ t |= l >= 0 ? 36 : 4;
+ n.push(e);
+ } else n.push(l);
+ }
+ o = h;
+ i.push(t);
+ }
+ t.setUint16(e, r.length - 1);
+ e += 2;
+ }
+ t.setUint16(e, this.instructions.length);
+ e += 2;
+ if (this.instructions.length) {
+ new Uint8Array(t.buffer, 0, t.buffer.byteLength).set(this.instructions, e);
+ e += this.instructions.length;
+ }
+ for (const a of i) t.setUint8(e++, a);
+ for (let a = 0, n = r.length; a < n; a++) {
+ const n = r[a],
+ s = i[a];
+ if (2 & s) t.setUint8(e++, n);
+ else if (!(16 & s)) {
+ t.setInt16(e, n);
+ e += 2;
+ }
+ }
+ for (let a = 0, r = n.length; a < r; a++) {
+ const r = n[a],
+ s = i[a];
+ if (4 & s) t.setUint8(e++, r);
+ else if (!(32 & s)) {
+ t.setInt16(e, r);
+ e += 2;
+ }
+ }
+ return e - a;
+ }
+ scale(e, t) {
+ for (const a of this.contours)
+ if (0 !== a.xCoordinates.length)
+ for (let r = 0, n = a.xCoordinates.length; r < n; r++)
+ a.xCoordinates[r] = Math.round(e + (a.xCoordinates[r] - e) * t);
+ }
+ }
+ class CompositeGlyph {
+ constructor({flags: e, glyphIndex: t, argument1: a, argument2: r, transf: n, instructions: i}) {
+ this.flags = e;
+ this.glyphIndex = t;
+ this.argument1 = a;
+ this.argument2 = r;
+ this.transf = n;
+ this.instructions = i;
+ }
+ static parse(e, t) {
+ const a = e,
+ r = [];
+ let n = t.getUint16(e);
+ const i = t.getUint16(e + 2);
+ e += 4;
+ let s, o;
+ if (1 & n) {
+ if (2 & n) {
+ s = t.getInt16(e);
+ o = t.getInt16(e + 2);
+ } else {
+ s = t.getUint16(e);
+ o = t.getUint16(e + 2);
+ }
+ e += 4;
+ n ^= 1;
+ } else {
+ if (2 & n) {
+ s = t.getInt8(e);
+ o = t.getInt8(e + 1);
+ } else {
+ s = t.getUint8(e);
+ o = t.getUint8(e + 1);
+ }
+ e += 2;
+ }
+ if (8 & n) {
+ r.push(t.getUint16(e));
+ e += 2;
+ } else if (64 & n) {
+ r.push(t.getUint16(e), t.getUint16(e + 2));
+ e += 4;
+ } else if (128 & n) {
+ r.push(t.getUint16(e), t.getUint16(e + 2), t.getUint16(e + 4), t.getUint16(e + 6));
+ e += 8;
+ }
+ let c = null;
+ if (256 & n) {
+ const a = t.getUint16(e);
+ e += 2;
+ c = new Uint8Array(t).slice(e, e + a);
+ e += a;
+ }
+ return [
+ e - a,
+ new CompositeGlyph({flags: n, glyphIndex: i, argument1: s, argument2: o, transf: r, instructions: c}),
+ ];
+ }
+ getSize() {
+ let e = 4 + 2 * this.transf.length;
+ 256 & this.flags && (e += 2 + this.instructions.length);
+ e += 2;
+ 2 & this.flags
+ ? (this.argument1 >= -128 &&
+ this.argument1 <= 127 &&
+ this.argument2 >= -128 &&
+ this.argument2 <= 127) ||
+ (e += 2)
+ : (this.argument1 >= 0 && this.argument1 <= 255 && this.argument2 >= 0 && this.argument2 <= 255) ||
+ (e += 2);
+ return e;
+ }
+ write(e, t) {
+ const a = e;
+ 2 & this.flags
+ ? (this.argument1 >= -128 &&
+ this.argument1 <= 127 &&
+ this.argument2 >= -128 &&
+ this.argument2 <= 127) ||
+ (this.flags |= 1)
+ : (this.argument1 >= 0 && this.argument1 <= 255 && this.argument2 >= 0 && this.argument2 <= 255) ||
+ (this.flags |= 1);
+ t.setUint16(e, this.flags);
+ t.setUint16(e + 2, this.glyphIndex);
+ e += 4;
+ if (1 & this.flags) {
+ if (2 & this.flags) {
+ t.setInt16(e, this.argument1);
+ t.setInt16(e + 2, this.argument2);
+ } else {
+ t.setUint16(e, this.argument1);
+ t.setUint16(e + 2, this.argument2);
+ }
+ e += 4;
+ } else {
+ t.setUint8(e, this.argument1);
+ t.setUint8(e + 1, this.argument2);
+ e += 2;
+ }
+ if (256 & this.flags) {
+ t.setUint16(e, this.instructions.length);
+ e += 2;
+ if (this.instructions.length) {
+ new Uint8Array(t.buffer, 0, t.buffer.byteLength).set(this.instructions, e);
+ e += this.instructions.length;
+ }
+ }
+ return e - a;
+ }
+ scale(e, t) {}
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.OpenTypeFileBuilder = void 0;
+ var r = a(6),
+ n = a(2);
+ function writeInt16(e, t, a) {
+ e[t] = (a >> 8) & 255;
+ e[t + 1] = 255 & a;
+ }
+ function writeInt32(e, t, a) {
+ e[t] = (a >> 24) & 255;
+ e[t + 1] = (a >> 16) & 255;
+ e[t + 2] = (a >> 8) & 255;
+ e[t + 3] = 255 & a;
+ }
+ function writeData(e, t, a) {
+ if (a instanceof Uint8Array) e.set(a, t);
+ else if ('string' == typeof a) for (let r = 0, n = a.length; r < n; r++) e[t++] = 255 & a.charCodeAt(r);
+ else for (let r = 0, n = a.length; r < n; r++) e[t++] = 255 & a[r];
+ }
+ class OpenTypeFileBuilder {
+ constructor(e) {
+ this.sfnt = e;
+ this.tables = Object.create(null);
+ }
+ static getSearchParams(e, t) {
+ let a = 1,
+ r = 0;
+ for (; (a ^ e) > a; ) {
+ a <<= 1;
+ r++;
+ }
+ const n = a * t;
+ return {range: n, entry: r, rangeShift: t * e - n};
+ }
+ toArray() {
+ let e = this.sfnt;
+ const t = this.tables,
+ a = Object.keys(t);
+ a.sort();
+ const i = a.length;
+ let s,
+ o,
+ c,
+ l,
+ h,
+ u = 12 + 16 * i;
+ const d = [u];
+ for (s = 0; s < i; s++) {
+ l = t[a[s]];
+ u += ((l.length + 3) & -4) >>> 0;
+ d.push(u);
+ }
+ const f = new Uint8Array(u);
+ for (s = 0; s < i; s++) {
+ l = t[a[s]];
+ writeData(f, d[s], l);
+ }
+ 'true' === e && (e = (0, n.string32)(65536));
+ f[0] = 255 & e.charCodeAt(0);
+ f[1] = 255 & e.charCodeAt(1);
+ f[2] = 255 & e.charCodeAt(2);
+ f[3] = 255 & e.charCodeAt(3);
+ writeInt16(f, 4, i);
+ const g = OpenTypeFileBuilder.getSearchParams(i, 16);
+ writeInt16(f, 6, g.range);
+ writeInt16(f, 8, g.entry);
+ writeInt16(f, 10, g.rangeShift);
+ u = 12;
+ for (s = 0; s < i; s++) {
+ h = a[s];
+ f[u] = 255 & h.charCodeAt(0);
+ f[u + 1] = 255 & h.charCodeAt(1);
+ f[u + 2] = 255 & h.charCodeAt(2);
+ f[u + 3] = 255 & h.charCodeAt(3);
+ let e = 0;
+ for (o = d[s], c = d[s + 1]; o < c; o += 4) {
+ e = (e + (0, r.readUint32)(f, o)) >>> 0;
+ }
+ writeInt32(f, u + 4, e);
+ writeInt32(f, u + 8, d[s]);
+ writeInt32(f, u + 12, t[h].length);
+ u += 16;
+ }
+ return f;
+ }
+ addTable(e, t) {
+ if (e in this.tables) throw new Error('Table ' + e + ' already exists');
+ this.tables[e] = t;
+ }
+ }
+ t.OpenTypeFileBuilder = OpenTypeFileBuilder;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Type1Font = void 0;
+ var r = a(35),
+ n = a(38),
+ i = a(6),
+ s = a(10),
+ o = a(49),
+ c = a(2);
+ function findBlock(e, t, a) {
+ const r = e.length,
+ n = t.length,
+ s = r - n;
+ let o = a,
+ c = !1;
+ for (; o < s; ) {
+ let a = 0;
+ for (; a < n && e[o + a] === t[a]; ) a++;
+ if (a >= n) {
+ o += a;
+ for (; o < r && (0, i.isWhiteSpace)(e[o]); ) o++;
+ c = !0;
+ break;
+ }
+ o++;
+ }
+ return {found: c, length: o};
+ }
+ t.Type1Font = class Type1Font {
+ constructor(e, t, a) {
+ let r = a.length1,
+ i = a.length2,
+ l = t.peekBytes(6);
+ const h = 128 === l[0] && 1 === l[1];
+ if (h) {
+ t.skip(6);
+ r = (l[5] << 24) | (l[4] << 16) | (l[3] << 8) | l[2];
+ }
+ const u = (function getHeaderBlock(e, t) {
+ const a = [101, 101, 120, 101, 99],
+ r = e.pos;
+ let n, i, o, l;
+ try {
+ n = e.getBytes(t);
+ i = n.length;
+ } catch (e) {}
+ if (i === t) {
+ o = findBlock(n, a, t - 2 * a.length);
+ if (o.found && o.length === t) return {stream: new s.Stream(n), length: t};
+ }
+ (0, c.warn)('Invalid "Length1" property in Type1 font -- trying to recover.');
+ e.pos = r;
+ for (;;) {
+ o = findBlock(e.peekBytes(2048), a, 0);
+ if (0 === o.length) break;
+ e.pos += o.length;
+ if (o.found) {
+ l = e.pos - r;
+ break;
+ }
+ }
+ e.pos = r;
+ if (l) return {stream: new s.Stream(e.getBytes(l)), length: l};
+ (0, c.warn)('Unable to recover "Length1" property in Type1 font -- using as is.');
+ return {stream: new s.Stream(e.getBytes(t)), length: t};
+ })(t, r);
+ new o.Type1Parser(u.stream, !1, n.SEAC_ANALYSIS_ENABLED).extractFontHeader(a);
+ if (h) {
+ l = t.getBytes(6);
+ i = (l[5] << 24) | (l[4] << 16) | (l[3] << 8) | l[2];
+ }
+ const d = (function getEexecBlock(e, t) {
+ const a = e.getBytes();
+ return {stream: new s.Stream(a), length: a.length};
+ })(t),
+ f = new o.Type1Parser(d.stream, !0, n.SEAC_ANALYSIS_ENABLED).extractFontProgram(a);
+ for (const e in f.properties) a[e] = f.properties[e];
+ const g = f.charstrings,
+ p = this.getType2Charstrings(g),
+ m = this.getType2Subrs(f.subrs);
+ this.charstrings = g;
+ this.data = this.wrap(e, p, this.charstrings, m, a);
+ this.seacs = this.getSeacs(f.charstrings);
+ }
+ get numGlyphs() {
+ return this.charstrings.length + 1;
+ }
+ getCharset() {
+ const e = ['.notdef'];
+ for (const {glyphName: t} of this.charstrings) e.push(t);
+ return e;
+ }
+ getGlyphMapping(e) {
+ const t = this.charstrings;
+ if (e.composite) {
+ const a = Object.create(null);
+ for (let r = 0, n = t.length; r < n; r++) {
+ a[e.cMap.charCodeOf(r)] = r + 1;
+ }
+ return a;
+ }
+ const a = ['.notdef'];
+ let r, i;
+ for (i = 0; i < t.length; i++) a.push(t[i].glyphName);
+ const s = e.builtInEncoding;
+ if (s) {
+ r = Object.create(null);
+ for (const e in s) {
+ i = a.indexOf(s[e]);
+ i >= 0 && (r[e] = i);
+ }
+ }
+ return (0, n.type1FontGlyphMapping)(e, r, a);
+ }
+ hasGlyphId(e) {
+ if (e < 0 || e >= this.numGlyphs) return !1;
+ if (0 === e) return !0;
+ return this.charstrings[e - 1].charstring.length > 0;
+ }
+ getSeacs(e) {
+ const t = [];
+ for (let a = 0, r = e.length; a < r; a++) {
+ const r = e[a];
+ r.seac && (t[a + 1] = r.seac);
+ }
+ return t;
+ }
+ getType2Charstrings(e) {
+ const t = [];
+ for (let a = 0, r = e.length; a < r; a++) t.push(e[a].charstring);
+ return t;
+ }
+ getType2Subrs(e) {
+ let t = 0;
+ const a = e.length;
+ t = a < 1133 ? 107 : a < 33769 ? 1131 : 32768;
+ const r = [];
+ let n;
+ for (n = 0; n < t; n++) r.push([11]);
+ for (n = 0; n < a; n++) r.push(e[n]);
+ return r;
+ }
+ wrap(e, t, a, n, i) {
+ const s = new r.CFF();
+ s.header = new r.CFFHeader(1, 0, 4, 4);
+ s.names = [e];
+ const o = new r.CFFTopDict();
+ o.setByName('version', 391);
+ o.setByName('Notice', 392);
+ o.setByName('FullName', 393);
+ o.setByName('FamilyName', 394);
+ o.setByName('Weight', 395);
+ o.setByName('Encoding', null);
+ o.setByName('FontMatrix', i.fontMatrix);
+ o.setByName('FontBBox', i.bbox);
+ o.setByName('charset', null);
+ o.setByName('CharStrings', null);
+ o.setByName('Private', null);
+ s.topDict = o;
+ const c = new r.CFFStrings();
+ c.add('Version 0.11');
+ c.add('See original notice');
+ c.add(e);
+ c.add(e);
+ c.add('Medium');
+ s.strings = c;
+ s.globalSubrIndex = new r.CFFIndex();
+ const l = t.length,
+ h = ['.notdef'];
+ let u, d;
+ for (u = 0; u < l; u++) {
+ const e = a[u].glyphName;
+ -1 === r.CFFStandardStrings.indexOf(e) && c.add(e);
+ h.push(e);
+ }
+ s.charset = new r.CFFCharset(!1, 0, h);
+ const f = new r.CFFIndex();
+ f.add([139, 14]);
+ for (u = 0; u < l; u++) f.add(t[u]);
+ s.charStrings = f;
+ const g = new r.CFFPrivateDict();
+ g.setByName('Subrs', null);
+ const p = [
+ 'BlueValues',
+ 'OtherBlues',
+ 'FamilyBlues',
+ 'FamilyOtherBlues',
+ 'StemSnapH',
+ 'StemSnapV',
+ 'BlueShift',
+ 'BlueFuzz',
+ 'BlueScale',
+ 'LanguageGroup',
+ 'ExpansionFactor',
+ 'ForceBold',
+ 'StdHW',
+ 'StdVW',
+ ];
+ for (u = 0, d = p.length; u < d; u++) {
+ const e = p[u];
+ if (!(e in i.privateData)) continue;
+ const t = i.privateData[e];
+ if (Array.isArray(t)) for (let e = t.length - 1; e > 0; e--) t[e] -= t[e - 1];
+ g.setByName(e, t);
+ }
+ s.topDict.privateDict = g;
+ const m = new r.CFFIndex();
+ for (u = 0, d = n.length; u < d; u++) m.add(n[u]);
+ g.subrsIndex = m;
+ return new r.CFFCompiler(s).compile();
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Type1Parser = void 0;
+ var r = a(37),
+ n = a(6),
+ i = a(10),
+ s = a(2);
+ const o = [4],
+ c = [5],
+ l = [6],
+ h = [7],
+ u = [8],
+ d = [12, 35],
+ f = [14],
+ g = [21],
+ p = [22],
+ m = [30],
+ b = [31];
+ class Type1CharString {
+ constructor() {
+ this.width = 0;
+ this.lsb = 0;
+ this.flexing = !1;
+ this.output = [];
+ this.stack = [];
+ }
+ convert(e, t, a) {
+ const r = e.length;
+ let n,
+ i,
+ y,
+ w = !1;
+ for (let S = 0; S < r; S++) {
+ let r = e[S];
+ if (r < 32) {
+ 12 === r && (r = (r << 8) + e[++S]);
+ switch (r) {
+ case 1:
+ case 3:
+ case 9:
+ case 3072:
+ case 3073:
+ case 3074:
+ case 3105:
+ this.stack = [];
+ break;
+ case 4:
+ if (this.flexing) {
+ if (this.stack.length < 1) {
+ w = !0;
+ break;
+ }
+ const e = this.stack.pop();
+ this.stack.push(0, e);
+ break;
+ }
+ w = this.executeCommand(1, o);
+ break;
+ case 5:
+ w = this.executeCommand(2, c);
+ break;
+ case 6:
+ w = this.executeCommand(1, l);
+ break;
+ case 7:
+ w = this.executeCommand(1, h);
+ break;
+ case 8:
+ w = this.executeCommand(6, u);
+ break;
+ case 10:
+ if (this.stack.length < 1) {
+ w = !0;
+ break;
+ }
+ y = this.stack.pop();
+ if (!t[y]) {
+ w = !0;
+ break;
+ }
+ w = this.convert(t[y], t, a);
+ break;
+ case 11:
+ return w;
+ case 13:
+ if (this.stack.length < 2) {
+ w = !0;
+ break;
+ }
+ n = this.stack.pop();
+ i = this.stack.pop();
+ this.lsb = i;
+ this.width = n;
+ this.stack.push(n, i);
+ w = this.executeCommand(2, p);
+ break;
+ case 14:
+ this.output.push(f[0]);
+ break;
+ case 21:
+ if (this.flexing) break;
+ w = this.executeCommand(2, g);
+ break;
+ case 22:
+ if (this.flexing) {
+ this.stack.push(0);
+ break;
+ }
+ w = this.executeCommand(1, p);
+ break;
+ case 30:
+ w = this.executeCommand(4, m);
+ break;
+ case 31:
+ w = this.executeCommand(4, b);
+ break;
+ case 3078:
+ if (a) {
+ const e = this.stack.at(-5);
+ this.seac = this.stack.splice(-4, 4);
+ this.seac[0] += this.lsb - e;
+ w = this.executeCommand(0, f);
+ } else w = this.executeCommand(4, f);
+ break;
+ case 3079:
+ if (this.stack.length < 4) {
+ w = !0;
+ break;
+ }
+ this.stack.pop();
+ n = this.stack.pop();
+ const e = this.stack.pop();
+ i = this.stack.pop();
+ this.lsb = i;
+ this.width = n;
+ this.stack.push(n, i, e);
+ w = this.executeCommand(3, g);
+ break;
+ case 3084:
+ if (this.stack.length < 2) {
+ w = !0;
+ break;
+ }
+ const S = this.stack.pop(),
+ x = this.stack.pop();
+ this.stack.push(x / S);
+ break;
+ case 3088:
+ if (this.stack.length < 2) {
+ w = !0;
+ break;
+ }
+ y = this.stack.pop();
+ const k = this.stack.pop();
+ if (0 === y && 3 === k) {
+ const e = this.stack.splice(this.stack.length - 17, 17);
+ this.stack.push(
+ e[2] + e[0],
+ e[3] + e[1],
+ e[4],
+ e[5],
+ e[6],
+ e[7],
+ e[8],
+ e[9],
+ e[10],
+ e[11],
+ e[12],
+ e[13],
+ e[14]
+ );
+ w = this.executeCommand(13, d, !0);
+ this.flexing = !1;
+ this.stack.push(e[15], e[16]);
+ } else 1 === y && 0 === k && (this.flexing = !0);
+ break;
+ case 3089:
+ break;
+ default:
+ (0, s.warn)('Unknown type 1 charstring command of "' + r + '"');
+ }
+ if (w) break;
+ } else {
+ r <= 246
+ ? (r -= 139)
+ : (r =
+ r <= 250
+ ? 256 * (r - 247) + e[++S] + 108
+ : r <= 254
+ ? -256 * (r - 251) - e[++S] - 108
+ : ((255 & e[++S]) << 24) |
+ ((255 & e[++S]) << 16) |
+ ((255 & e[++S]) << 8) |
+ ((255 & e[++S]) << 0));
+ this.stack.push(r);
+ }
+ }
+ return w;
+ }
+ executeCommand(e, t, a) {
+ const r = this.stack.length;
+ if (e > r) return !0;
+ const n = r - e;
+ for (let e = n; e < r; e++) {
+ let t = this.stack[e];
+ if (Number.isInteger(t)) this.output.push(28, (t >> 8) & 255, 255 & t);
+ else {
+ t = (65536 * t) | 0;
+ this.output.push(255, (t >> 24) & 255, (t >> 16) & 255, (t >> 8) & 255, 255 & t);
+ }
+ }
+ this.output.push(...t);
+ a ? this.stack.splice(n, e) : (this.stack.length = 0);
+ return !1;
+ }
+ }
+ function isHexDigit(e) {
+ return (e >= 48 && e <= 57) || (e >= 65 && e <= 70) || (e >= 97 && e <= 102);
+ }
+ function decrypt(e, t, a) {
+ if (a >= e.length) return new Uint8Array(0);
+ let r,
+ n,
+ i = 0 | t;
+ for (r = 0; r < a; r++) i = (52845 * (e[r] + i) + 22719) & 65535;
+ const s = e.length - a,
+ o = new Uint8Array(s);
+ for (r = a, n = 0; n < s; r++, n++) {
+ const t = e[r];
+ o[n] = t ^ (i >> 8);
+ i = (52845 * (t + i) + 22719) & 65535;
+ }
+ return o;
+ }
+ function isSpecial(e) {
+ return 47 === e || 91 === e || 93 === e || 123 === e || 125 === e || 40 === e || 41 === e;
+ }
+ t.Type1Parser = class Type1Parser {
+ constructor(e, t, a) {
+ if (t) {
+ const t = e.getBytes(),
+ a = !(
+ (isHexDigit(t[0]) || (0, n.isWhiteSpace)(t[0])) &&
+ isHexDigit(t[1]) &&
+ isHexDigit(t[2]) &&
+ isHexDigit(t[3]) &&
+ isHexDigit(t[4]) &&
+ isHexDigit(t[5]) &&
+ isHexDigit(t[6]) &&
+ isHexDigit(t[7])
+ );
+ e = new i.Stream(
+ a
+ ? decrypt(t, 55665, 4)
+ : (function decryptAscii(e, t, a) {
+ let r = 0 | t;
+ const n = e.length,
+ i = new Uint8Array(n >>> 1);
+ let s, o;
+ for (s = 0, o = 0; s < n; s++) {
+ const t = e[s];
+ if (!isHexDigit(t)) continue;
+ s++;
+ let a;
+ for (; s < n && !isHexDigit((a = e[s])); ) s++;
+ if (s < n) {
+ const e = parseInt(String.fromCharCode(t, a), 16);
+ i[o++] = e ^ (r >> 8);
+ r = (52845 * (e + r) + 22719) & 65535;
+ }
+ }
+ return i.slice(a, o);
+ })(t, 55665, 4)
+ );
+ }
+ this.seacAnalysisEnabled = !!a;
+ this.stream = e;
+ this.nextChar();
+ }
+ readNumberArray() {
+ this.getToken();
+ const e = [];
+ for (;;) {
+ const t = this.getToken();
+ if (null === t || ']' === t || '}' === t) break;
+ e.push(parseFloat(t || 0));
+ }
+ return e;
+ }
+ readNumber() {
+ const e = this.getToken();
+ return parseFloat(e || 0);
+ }
+ readInt() {
+ const e = this.getToken();
+ return 0 | parseInt(e || 0, 10);
+ }
+ readBoolean() {
+ return 'true' === this.getToken() ? 1 : 0;
+ }
+ nextChar() {
+ return (this.currentChar = this.stream.getByte());
+ }
+ prevChar() {
+ this.stream.skip(-2);
+ return (this.currentChar = this.stream.getByte());
+ }
+ getToken() {
+ let e = !1,
+ t = this.currentChar;
+ for (;;) {
+ if (-1 === t) return null;
+ if (e) (10 !== t && 13 !== t) || (e = !1);
+ else if (37 === t) e = !0;
+ else if (!(0, n.isWhiteSpace)(t)) break;
+ t = this.nextChar();
+ }
+ if (isSpecial(t)) {
+ this.nextChar();
+ return String.fromCharCode(t);
+ }
+ let a = '';
+ do {
+ a += String.fromCharCode(t);
+ t = this.nextChar();
+ } while (t >= 0 && !(0, n.isWhiteSpace)(t) && !isSpecial(t));
+ return a;
+ }
+ readCharStrings(e, t) {
+ return -1 === t ? e : decrypt(e, 4330, t);
+ }
+ extractFontProgram(e) {
+ const t = this.stream,
+ a = [],
+ r = [],
+ n = Object.create(null);
+ n.lenIV = 4;
+ const i = {subrs: [], charstrings: [], properties: {privateData: n}};
+ let s, o, c, l;
+ for (; null !== (s = this.getToken()); )
+ if ('/' === s) {
+ s = this.getToken();
+ switch (s) {
+ case 'CharStrings':
+ this.getToken();
+ this.getToken();
+ this.getToken();
+ this.getToken();
+ for (;;) {
+ s = this.getToken();
+ if (null === s || 'end' === s) break;
+ if ('/' !== s) continue;
+ const e = this.getToken();
+ o = this.readInt();
+ this.getToken();
+ c = o > 0 ? t.getBytes(o) : new Uint8Array(0);
+ l = i.properties.privateData.lenIV;
+ const a = this.readCharStrings(c, l);
+ this.nextChar();
+ s = this.getToken();
+ 'noaccess' === s ? this.getToken() : '/' === s && this.prevChar();
+ r.push({glyph: e, encoded: a});
+ }
+ break;
+ case 'Subrs':
+ this.readInt();
+ this.getToken();
+ for (; 'dup' === this.getToken(); ) {
+ const e = this.readInt();
+ o = this.readInt();
+ this.getToken();
+ c = o > 0 ? t.getBytes(o) : new Uint8Array(0);
+ l = i.properties.privateData.lenIV;
+ const r = this.readCharStrings(c, l);
+ this.nextChar();
+ s = this.getToken();
+ 'noaccess' === s && this.getToken();
+ a[e] = r;
+ }
+ break;
+ case 'BlueValues':
+ case 'OtherBlues':
+ case 'FamilyBlues':
+ case 'FamilyOtherBlues':
+ const e = this.readNumberArray();
+ e.length > 0 && e.length, 0;
+ break;
+ case 'StemSnapH':
+ case 'StemSnapV':
+ i.properties.privateData[s] = this.readNumberArray();
+ break;
+ case 'StdHW':
+ case 'StdVW':
+ i.properties.privateData[s] = this.readNumberArray()[0];
+ break;
+ case 'BlueShift':
+ case 'lenIV':
+ case 'BlueFuzz':
+ case 'BlueScale':
+ case 'LanguageGroup':
+ case 'ExpansionFactor':
+ i.properties.privateData[s] = this.readNumber();
+ break;
+ case 'ForceBold':
+ i.properties.privateData[s] = this.readBoolean();
+ }
+ }
+ for (const {encoded: t, glyph: n} of r) {
+ const r = new Type1CharString(),
+ s = r.convert(t, a, this.seacAnalysisEnabled);
+ let o = r.output;
+ s && (o = [14]);
+ const c = {glyphName: n, charstring: o, width: r.width, lsb: r.lsb, seac: r.seac};
+ '.notdef' === n ? i.charstrings.unshift(c) : i.charstrings.push(c);
+ if (e.builtInEncoding) {
+ const t = e.builtInEncoding.indexOf(n);
+ t > -1 && void 0 === e.widths[t] && t >= e.firstChar && t <= e.lastChar && (e.widths[t] = r.width);
+ }
+ }
+ return i;
+ }
+ extractFontHeader(e) {
+ let t;
+ for (; null !== (t = this.getToken()); )
+ if ('/' === t) {
+ t = this.getToken();
+ switch (t) {
+ case 'FontMatrix':
+ const a = this.readNumberArray();
+ e.fontMatrix = a;
+ break;
+ case 'Encoding':
+ const n = this.getToken();
+ let i;
+ if (/^\d+$/.test(n)) {
+ i = [];
+ const e = 0 | parseInt(n, 10);
+ this.getToken();
+ for (let a = 0; a < e; a++) {
+ t = this.getToken();
+ for (; 'dup' !== t && 'def' !== t; ) {
+ t = this.getToken();
+ if (null === t) return;
+ }
+ if ('def' === t) break;
+ const e = this.readInt();
+ this.getToken();
+ const a = this.getToken();
+ i[e] = a;
+ this.getToken();
+ }
+ } else i = (0, r.getEncoding)(n);
+ e.builtInEncoding = i;
+ break;
+ case 'FontBBox':
+ const s = this.readNumberArray();
+ e.ascent = Math.max(s[3], s[1]);
+ e.descent = Math.min(s[1], s[3]);
+ e.ascentScaled = !0;
+ }
+ }
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Pattern = void 0;
+ t.getTilingPatternIR = function getTilingPatternIR(e, t, a) {
+ const n = t.getArray('Matrix'),
+ i = r.Util.normalizeRect(t.getArray('BBox')),
+ s = t.get('XStep'),
+ o = t.get('YStep'),
+ c = t.get('PaintType'),
+ l = t.get('TilingType');
+ if (i[2] - i[0] == 0 || i[3] - i[1] == 0)
+ throw new r.FormatError(`Invalid getTilingPatternIR /BBox array: [${i}].`);
+ return ['TilingPattern', a, e, n, i, s, o, c, l];
+ };
+ var r = a(2),
+ n = a(7),
+ i = a(14),
+ s = a(6);
+ const o = 2,
+ c = 3,
+ l = 4,
+ h = 5,
+ u = 6,
+ d = 7;
+ t.Pattern = class Pattern {
+ constructor() {
+ (0, r.unreachable)('Cannot initialize Pattern.');
+ }
+ static parseShading(e, t, a, i, f, g) {
+ const p = e instanceof n.BaseStream ? e.dict : e,
+ m = p.get('ShadingType');
+ try {
+ switch (m) {
+ case o:
+ case c:
+ return new RadialAxialShading(p, t, a, f, g);
+ case l:
+ case h:
+ case u:
+ case d:
+ return new MeshShading(e, t, a, f, g);
+ default:
+ throw new r.FormatError('Unsupported ShadingType: ' + m);
+ }
+ } catch (e) {
+ if (e instanceof s.MissingDataException) throw e;
+ i.send('UnsupportedFeature', {featureId: r.UNSUPPORTED_FEATURES.shadingPattern});
+ (0, r.warn)(e);
+ return new DummyShading();
+ }
+ }
+ };
+ class BaseShading {
+ static get SMALL_NUMBER() {
+ return (0, r.shadow)(this, 'SMALL_NUMBER', 1e-6);
+ }
+ constructor() {
+ this.constructor === BaseShading && (0, r.unreachable)('Cannot initialize BaseShading.');
+ }
+ getIR() {
+ (0, r.unreachable)('Abstract method `getIR` called.');
+ }
+ }
+ class RadialAxialShading extends BaseShading {
+ constructor(e, t, a, n, s) {
+ super();
+ this.coordsArr = e.getArray('Coords');
+ this.shadingType = e.get('ShadingType');
+ const o = i.ColorSpace.parse({
+ cs: e.getRaw('CS') || e.getRaw('ColorSpace'),
+ xref: t,
+ resources: a,
+ pdfFunctionFactory: n,
+ localColorSpaceCache: s,
+ }),
+ l = e.getArray('BBox');
+ Array.isArray(l) && 4 === l.length ? (this.bbox = r.Util.normalizeRect(l)) : (this.bbox = null);
+ let h = 0,
+ u = 1;
+ if (e.has('Domain')) {
+ const t = e.getArray('Domain');
+ h = t[0];
+ u = t[1];
+ }
+ let d = !1,
+ f = !1;
+ if (e.has('Extend')) {
+ const t = e.getArray('Extend');
+ d = t[0];
+ f = t[1];
+ }
+ if (!(this.shadingType !== c || (d && f))) {
+ const [e, t, a, n, i, s] = this.coordsArr,
+ o = Math.hypot(e - n, t - i);
+ a <= s + o && s <= a + o && (0, r.warn)('Unsupported radial gradient.');
+ }
+ this.extendStart = d;
+ this.extendEnd = f;
+ const g = e.getRaw('Function'),
+ p = n.createFromArray(g),
+ m = (u - h) / 10,
+ b = (this.colorStops = []);
+ if (h >= u || m <= 0) {
+ (0, r.info)('Bad shading domain.');
+ return;
+ }
+ const y = new Float32Array(o.numComps),
+ w = new Float32Array(1);
+ let S;
+ for (let e = 0; e <= 10; e++) {
+ w[0] = h + e * m;
+ p(w, 0, y, 0);
+ S = o.getRgb(y, 0);
+ const t = r.Util.makeHexColor(S[0], S[1], S[2]);
+ b.push([e / 10, t]);
+ }
+ let x = 'transparent';
+ if (e.has('Background')) {
+ S = o.getRgb(e.get('Background'), 0);
+ x = r.Util.makeHexColor(S[0], S[1], S[2]);
+ }
+ if (!d) {
+ b.unshift([0, x]);
+ b[1][0] += BaseShading.SMALL_NUMBER;
+ }
+ if (!f) {
+ b.at(-1)[0] -= BaseShading.SMALL_NUMBER;
+ b.push([1, x]);
+ }
+ this.colorStops = b;
+ }
+ getIR() {
+ const e = this.coordsArr,
+ t = this.shadingType;
+ let a, n, i, s, l;
+ if (t === o) {
+ n = [e[0], e[1]];
+ i = [e[2], e[3]];
+ s = null;
+ l = null;
+ a = 'axial';
+ } else if (t === c) {
+ n = [e[0], e[1]];
+ i = [e[3], e[4]];
+ s = e[2];
+ l = e[5];
+ a = 'radial';
+ } else (0, r.unreachable)(`getPattern type unknown: ${t}`);
+ return ['RadialAxial', a, this.bbox, this.colorStops, n, i, s, l];
+ }
+ }
+ class MeshStreamReader {
+ constructor(e, t) {
+ this.stream = e;
+ this.context = t;
+ this.buffer = 0;
+ this.bufferLength = 0;
+ const a = t.numComps;
+ this.tmpCompsBuf = new Float32Array(a);
+ const r = t.colorSpace.numComps;
+ this.tmpCsCompsBuf = t.colorFn ? new Float32Array(r) : this.tmpCompsBuf;
+ }
+ get hasData() {
+ if (this.stream.end) return this.stream.pos < this.stream.end;
+ if (this.bufferLength > 0) return !0;
+ const e = this.stream.getByte();
+ if (e < 0) return !1;
+ this.buffer = e;
+ this.bufferLength = 8;
+ return !0;
+ }
+ readBits(e) {
+ let t = this.buffer,
+ a = this.bufferLength;
+ if (32 === e) {
+ if (0 === a)
+ return (
+ ((this.stream.getByte() << 24) |
+ (this.stream.getByte() << 16) |
+ (this.stream.getByte() << 8) |
+ this.stream.getByte()) >>>
+ 0
+ );
+ t = (t << 24) | (this.stream.getByte() << 16) | (this.stream.getByte() << 8) | this.stream.getByte();
+ const e = this.stream.getByte();
+ this.buffer = e & ((1 << a) - 1);
+ return ((t << (8 - a)) | ((255 & e) >> a)) >>> 0;
+ }
+ if (8 === e && 0 === a) return this.stream.getByte();
+ for (; a < e; ) {
+ t = (t << 8) | this.stream.getByte();
+ a += 8;
+ }
+ a -= e;
+ this.bufferLength = a;
+ this.buffer = t & ((1 << a) - 1);
+ return t >> a;
+ }
+ align() {
+ this.buffer = 0;
+ this.bufferLength = 0;
+ }
+ readFlag() {
+ return this.readBits(this.context.bitsPerFlag);
+ }
+ readCoordinate() {
+ const e = this.context.bitsPerCoordinate,
+ t = this.readBits(e),
+ a = this.readBits(e),
+ r = this.context.decode,
+ n = e < 32 ? 1 / ((1 << e) - 1) : 2.3283064365386963e-10;
+ return [t * n * (r[1] - r[0]) + r[0], a * n * (r[3] - r[2]) + r[2]];
+ }
+ readComponents() {
+ const e = this.context.numComps,
+ t = this.context.bitsPerComponent,
+ a = t < 32 ? 1 / ((1 << t) - 1) : 2.3283064365386963e-10,
+ r = this.context.decode,
+ n = this.tmpCompsBuf;
+ for (let i = 0, s = 4; i < e; i++, s += 2) {
+ const e = this.readBits(t);
+ n[i] = e * a * (r[s + 1] - r[s]) + r[s];
+ }
+ const i = this.tmpCsCompsBuf;
+ this.context.colorFn && this.context.colorFn(n, 0, i, 0);
+ return this.context.colorSpace.getRgb(i, 0);
+ }
+ }
+ const f = (function getBClosure() {
+ const e = [];
+ return function (t) {
+ e[t] ||
+ (e[t] = (function buildB(e) {
+ const t = [];
+ for (let a = 0; a <= e; a++) {
+ const r = a / e,
+ n = 1 - r;
+ t.push(new Float32Array([n * n * n, 3 * r * n * n, 3 * r * r * n, r * r * r]));
+ }
+ return t;
+ })(t));
+ return e[t];
+ };
+ })();
+ class MeshShading extends BaseShading {
+ static get MIN_SPLIT_PATCH_CHUNKS_AMOUNT() {
+ return (0, r.shadow)(this, 'MIN_SPLIT_PATCH_CHUNKS_AMOUNT', 3);
+ }
+ static get MAX_SPLIT_PATCH_CHUNKS_AMOUNT() {
+ return (0, r.shadow)(this, 'MAX_SPLIT_PATCH_CHUNKS_AMOUNT', 20);
+ }
+ static get TRIANGLE_DENSITY() {
+ return (0, r.shadow)(this, 'TRIANGLE_DENSITY', 20);
+ }
+ constructor(e, t, a, s, o) {
+ super();
+ if (!(e instanceof n.BaseStream)) throw new r.FormatError('Mesh data is not a stream');
+ const c = e.dict;
+ this.shadingType = c.get('ShadingType');
+ const f = c.getArray('BBox');
+ Array.isArray(f) && 4 === f.length ? (this.bbox = r.Util.normalizeRect(f)) : (this.bbox = null);
+ const g = i.ColorSpace.parse({
+ cs: c.getRaw('CS') || c.getRaw('ColorSpace'),
+ xref: t,
+ resources: a,
+ pdfFunctionFactory: s,
+ localColorSpaceCache: o,
+ });
+ this.background = c.has('Background') ? g.getRgb(c.get('Background'), 0) : null;
+ const p = c.getRaw('Function'),
+ m = p ? s.createFromArray(p) : null;
+ this.coords = [];
+ this.colors = [];
+ this.figures = [];
+ const b = {
+ bitsPerCoordinate: c.get('BitsPerCoordinate'),
+ bitsPerComponent: c.get('BitsPerComponent'),
+ bitsPerFlag: c.get('BitsPerFlag'),
+ decode: c.getArray('Decode'),
+ colorFn: m,
+ colorSpace: g,
+ numComps: m ? 1 : g.numComps,
+ },
+ y = new MeshStreamReader(e, b);
+ let w = !1;
+ switch (this.shadingType) {
+ case l:
+ this._decodeType4Shading(y);
+ break;
+ case h:
+ const e = 0 | c.get('VerticesPerRow');
+ if (e < 2) throw new r.FormatError('Invalid VerticesPerRow');
+ this._decodeType5Shading(y, e);
+ break;
+ case u:
+ this._decodeType6Shading(y);
+ w = !0;
+ break;
+ case d:
+ this._decodeType7Shading(y);
+ w = !0;
+ break;
+ default:
+ (0, r.unreachable)('Unsupported mesh type.');
+ }
+ if (w) {
+ this._updateBounds();
+ for (let e = 0, t = this.figures.length; e < t; e++) this._buildFigureFromPatch(e);
+ }
+ this._updateBounds();
+ this._packData();
+ }
+ _decodeType4Shading(e) {
+ const t = this.coords,
+ a = this.colors,
+ n = [],
+ i = [];
+ let s = 0;
+ for (; e.hasData; ) {
+ const o = e.readFlag(),
+ c = e.readCoordinate(),
+ l = e.readComponents();
+ if (0 === s) {
+ if (!(0 <= o && o <= 2)) throw new r.FormatError('Unknown type4 flag');
+ switch (o) {
+ case 0:
+ s = 3;
+ break;
+ case 1:
+ i.push(i.at(-2), i.at(-1));
+ s = 1;
+ break;
+ case 2:
+ i.push(i.at(-3), i.at(-1));
+ s = 1;
+ }
+ n.push(o);
+ }
+ i.push(t.length);
+ t.push(c);
+ a.push(l);
+ s--;
+ e.align();
+ }
+ this.figures.push({type: 'triangles', coords: new Int32Array(i), colors: new Int32Array(i)});
+ }
+ _decodeType5Shading(e, t) {
+ const a = this.coords,
+ r = this.colors,
+ n = [];
+ for (; e.hasData; ) {
+ const t = e.readCoordinate(),
+ i = e.readComponents();
+ n.push(a.length);
+ a.push(t);
+ r.push(i);
+ }
+ this.figures.push({
+ type: 'lattice',
+ coords: new Int32Array(n),
+ colors: new Int32Array(n),
+ verticesPerRow: t,
+ });
+ }
+ _decodeType6Shading(e) {
+ const t = this.coords,
+ a = this.colors,
+ n = new Int32Array(16),
+ i = new Int32Array(4);
+ for (; e.hasData; ) {
+ const s = e.readFlag();
+ if (!(0 <= s && s <= 3)) throw new r.FormatError('Unknown type6 flag');
+ const o = t.length;
+ for (let a = 0, r = 0 !== s ? 8 : 12; a < r; a++) t.push(e.readCoordinate());
+ const c = a.length;
+ for (let t = 0, r = 0 !== s ? 2 : 4; t < r; t++) a.push(e.readComponents());
+ let l, h, u, d;
+ switch (s) {
+ case 0:
+ n[12] = o + 3;
+ n[13] = o + 4;
+ n[14] = o + 5;
+ n[15] = o + 6;
+ n[8] = o + 2;
+ n[11] = o + 7;
+ n[4] = o + 1;
+ n[7] = o + 8;
+ n[0] = o;
+ n[1] = o + 11;
+ n[2] = o + 10;
+ n[3] = o + 9;
+ i[2] = c + 1;
+ i[3] = c + 2;
+ i[0] = c;
+ i[1] = c + 3;
+ break;
+ case 1:
+ l = n[12];
+ h = n[13];
+ u = n[14];
+ d = n[15];
+ n[12] = d;
+ n[13] = o + 0;
+ n[14] = o + 1;
+ n[15] = o + 2;
+ n[8] = u;
+ n[11] = o + 3;
+ n[4] = h;
+ n[7] = o + 4;
+ n[0] = l;
+ n[1] = o + 7;
+ n[2] = o + 6;
+ n[3] = o + 5;
+ l = i[2];
+ h = i[3];
+ i[2] = h;
+ i[3] = c;
+ i[0] = l;
+ i[1] = c + 1;
+ break;
+ case 2:
+ l = n[15];
+ h = n[11];
+ n[12] = n[3];
+ n[13] = o + 0;
+ n[14] = o + 1;
+ n[15] = o + 2;
+ n[8] = n[7];
+ n[11] = o + 3;
+ n[4] = h;
+ n[7] = o + 4;
+ n[0] = l;
+ n[1] = o + 7;
+ n[2] = o + 6;
+ n[3] = o + 5;
+ l = i[3];
+ i[2] = i[1];
+ i[3] = c;
+ i[0] = l;
+ i[1] = c + 1;
+ break;
+ case 3:
+ n[12] = n[0];
+ n[13] = o + 0;
+ n[14] = o + 1;
+ n[15] = o + 2;
+ n[8] = n[1];
+ n[11] = o + 3;
+ n[4] = n[2];
+ n[7] = o + 4;
+ n[0] = n[3];
+ n[1] = o + 7;
+ n[2] = o + 6;
+ n[3] = o + 5;
+ i[2] = i[0];
+ i[3] = c;
+ i[0] = i[1];
+ i[1] = c + 1;
+ }
+ n[5] = t.length;
+ t.push([
+ (-4 * t[n[0]][0] -
+ t[n[15]][0] +
+ 6 * (t[n[4]][0] + t[n[1]][0]) -
+ 2 * (t[n[12]][0] + t[n[3]][0]) +
+ 3 * (t[n[13]][0] + t[n[7]][0])) /
+ 9,
+ (-4 * t[n[0]][1] -
+ t[n[15]][1] +
+ 6 * (t[n[4]][1] + t[n[1]][1]) -
+ 2 * (t[n[12]][1] + t[n[3]][1]) +
+ 3 * (t[n[13]][1] + t[n[7]][1])) /
+ 9,
+ ]);
+ n[6] = t.length;
+ t.push([
+ (-4 * t[n[3]][0] -
+ t[n[12]][0] +
+ 6 * (t[n[2]][0] + t[n[7]][0]) -
+ 2 * (t[n[0]][0] + t[n[15]][0]) +
+ 3 * (t[n[4]][0] + t[n[14]][0])) /
+ 9,
+ (-4 * t[n[3]][1] -
+ t[n[12]][1] +
+ 6 * (t[n[2]][1] + t[n[7]][1]) -
+ 2 * (t[n[0]][1] + t[n[15]][1]) +
+ 3 * (t[n[4]][1] + t[n[14]][1])) /
+ 9,
+ ]);
+ n[9] = t.length;
+ t.push([
+ (-4 * t[n[12]][0] -
+ t[n[3]][0] +
+ 6 * (t[n[8]][0] + t[n[13]][0]) -
+ 2 * (t[n[0]][0] + t[n[15]][0]) +
+ 3 * (t[n[11]][0] + t[n[1]][0])) /
+ 9,
+ (-4 * t[n[12]][1] -
+ t[n[3]][1] +
+ 6 * (t[n[8]][1] + t[n[13]][1]) -
+ 2 * (t[n[0]][1] + t[n[15]][1]) +
+ 3 * (t[n[11]][1] + t[n[1]][1])) /
+ 9,
+ ]);
+ n[10] = t.length;
+ t.push([
+ (-4 * t[n[15]][0] -
+ t[n[0]][0] +
+ 6 * (t[n[11]][0] + t[n[14]][0]) -
+ 2 * (t[n[12]][0] + t[n[3]][0]) +
+ 3 * (t[n[2]][0] + t[n[8]][0])) /
+ 9,
+ (-4 * t[n[15]][1] -
+ t[n[0]][1] +
+ 6 * (t[n[11]][1] + t[n[14]][1]) -
+ 2 * (t[n[12]][1] + t[n[3]][1]) +
+ 3 * (t[n[2]][1] + t[n[8]][1])) /
+ 9,
+ ]);
+ this.figures.push({type: 'patch', coords: new Int32Array(n), colors: new Int32Array(i)});
+ }
+ }
+ _decodeType7Shading(e) {
+ const t = this.coords,
+ a = this.colors,
+ n = new Int32Array(16),
+ i = new Int32Array(4);
+ for (; e.hasData; ) {
+ const s = e.readFlag();
+ if (!(0 <= s && s <= 3)) throw new r.FormatError('Unknown type7 flag');
+ const o = t.length;
+ for (let a = 0, r = 0 !== s ? 12 : 16; a < r; a++) t.push(e.readCoordinate());
+ const c = a.length;
+ for (let t = 0, r = 0 !== s ? 2 : 4; t < r; t++) a.push(e.readComponents());
+ let l, h, u, d;
+ switch (s) {
+ case 0:
+ n[12] = o + 3;
+ n[13] = o + 4;
+ n[14] = o + 5;
+ n[15] = o + 6;
+ n[8] = o + 2;
+ n[9] = o + 13;
+ n[10] = o + 14;
+ n[11] = o + 7;
+ n[4] = o + 1;
+ n[5] = o + 12;
+ n[6] = o + 15;
+ n[7] = o + 8;
+ n[0] = o;
+ n[1] = o + 11;
+ n[2] = o + 10;
+ n[3] = o + 9;
+ i[2] = c + 1;
+ i[3] = c + 2;
+ i[0] = c;
+ i[1] = c + 3;
+ break;
+ case 1:
+ l = n[12];
+ h = n[13];
+ u = n[14];
+ d = n[15];
+ n[12] = d;
+ n[13] = o + 0;
+ n[14] = o + 1;
+ n[15] = o + 2;
+ n[8] = u;
+ n[9] = o + 9;
+ n[10] = o + 10;
+ n[11] = o + 3;
+ n[4] = h;
+ n[5] = o + 8;
+ n[6] = o + 11;
+ n[7] = o + 4;
+ n[0] = l;
+ n[1] = o + 7;
+ n[2] = o + 6;
+ n[3] = o + 5;
+ l = i[2];
+ h = i[3];
+ i[2] = h;
+ i[3] = c;
+ i[0] = l;
+ i[1] = c + 1;
+ break;
+ case 2:
+ l = n[15];
+ h = n[11];
+ n[12] = n[3];
+ n[13] = o + 0;
+ n[14] = o + 1;
+ n[15] = o + 2;
+ n[8] = n[7];
+ n[9] = o + 9;
+ n[10] = o + 10;
+ n[11] = o + 3;
+ n[4] = h;
+ n[5] = o + 8;
+ n[6] = o + 11;
+ n[7] = o + 4;
+ n[0] = l;
+ n[1] = o + 7;
+ n[2] = o + 6;
+ n[3] = o + 5;
+ l = i[3];
+ i[2] = i[1];
+ i[3] = c;
+ i[0] = l;
+ i[1] = c + 1;
+ break;
+ case 3:
+ n[12] = n[0];
+ n[13] = o + 0;
+ n[14] = o + 1;
+ n[15] = o + 2;
+ n[8] = n[1];
+ n[9] = o + 9;
+ n[10] = o + 10;
+ n[11] = o + 3;
+ n[4] = n[2];
+ n[5] = o + 8;
+ n[6] = o + 11;
+ n[7] = o + 4;
+ n[0] = n[3];
+ n[1] = o + 7;
+ n[2] = o + 6;
+ n[3] = o + 5;
+ i[2] = i[0];
+ i[3] = c;
+ i[0] = i[1];
+ i[1] = c + 1;
+ }
+ this.figures.push({type: 'patch', coords: new Int32Array(n), colors: new Int32Array(i)});
+ }
+ }
+ _buildFigureFromPatch(e) {
+ const t = this.figures[e];
+ (0, r.assert)('patch' === t.type, 'Unexpected patch mesh figure');
+ const a = this.coords,
+ n = this.colors,
+ i = t.coords,
+ s = t.colors,
+ o = Math.min(a[i[0]][0], a[i[3]][0], a[i[12]][0], a[i[15]][0]),
+ c = Math.min(a[i[0]][1], a[i[3]][1], a[i[12]][1], a[i[15]][1]),
+ l = Math.max(a[i[0]][0], a[i[3]][0], a[i[12]][0], a[i[15]][0]),
+ h = Math.max(a[i[0]][1], a[i[3]][1], a[i[12]][1], a[i[15]][1]);
+ let u = Math.ceil(((l - o) * MeshShading.TRIANGLE_DENSITY) / (this.bounds[2] - this.bounds[0]));
+ u = Math.max(
+ MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,
+ Math.min(MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT, u)
+ );
+ let d = Math.ceil(((h - c) * MeshShading.TRIANGLE_DENSITY) / (this.bounds[3] - this.bounds[1]));
+ d = Math.max(
+ MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,
+ Math.min(MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT, d)
+ );
+ const g = u + 1,
+ p = new Int32Array((d + 1) * g),
+ m = new Int32Array((d + 1) * g);
+ let b = 0;
+ const y = new Uint8Array(3),
+ w = new Uint8Array(3),
+ S = n[s[0]],
+ x = n[s[1]],
+ k = n[s[2]],
+ C = n[s[3]],
+ v = f(d),
+ F = f(u);
+ for (let e = 0; e <= d; e++) {
+ y[0] = ((S[0] * (d - e) + k[0] * e) / d) | 0;
+ y[1] = ((S[1] * (d - e) + k[1] * e) / d) | 0;
+ y[2] = ((S[2] * (d - e) + k[2] * e) / d) | 0;
+ w[0] = ((x[0] * (d - e) + C[0] * e) / d) | 0;
+ w[1] = ((x[1] * (d - e) + C[1] * e) / d) | 0;
+ w[2] = ((x[2] * (d - e) + C[2] * e) / d) | 0;
+ for (let t = 0; t <= u; t++, b++) {
+ if (!((0 !== e && e !== d) || (0 !== t && t !== u))) continue;
+ let r = 0,
+ s = 0,
+ o = 0;
+ for (let n = 0; n <= 3; n++)
+ for (let c = 0; c <= 3; c++, o++) {
+ const l = v[e][n] * F[t][c];
+ r += a[i[o]][0] * l;
+ s += a[i[o]][1] * l;
+ }
+ p[b] = a.length;
+ a.push([r, s]);
+ m[b] = n.length;
+ const c = new Uint8Array(3);
+ c[0] = ((y[0] * (u - t) + w[0] * t) / u) | 0;
+ c[1] = ((y[1] * (u - t) + w[1] * t) / u) | 0;
+ c[2] = ((y[2] * (u - t) + w[2] * t) / u) | 0;
+ n.push(c);
+ }
+ }
+ p[0] = i[0];
+ m[0] = s[0];
+ p[u] = i[3];
+ m[u] = s[1];
+ p[g * d] = i[12];
+ m[g * d] = s[2];
+ p[g * d + u] = i[15];
+ m[g * d + u] = s[3];
+ this.figures[e] = {type: 'lattice', coords: p, colors: m, verticesPerRow: g};
+ }
+ _updateBounds() {
+ let e = this.coords[0][0],
+ t = this.coords[0][1],
+ a = e,
+ r = t;
+ for (let n = 1, i = this.coords.length; n < i; n++) {
+ const i = this.coords[n][0],
+ s = this.coords[n][1];
+ e = e > i ? i : e;
+ t = t > s ? s : t;
+ a = a < i ? i : a;
+ r = r < s ? s : r;
+ }
+ this.bounds = [e, t, a, r];
+ }
+ _packData() {
+ let e, t, a, r;
+ const n = this.coords,
+ i = new Float32Array(2 * n.length);
+ for (e = 0, a = 0, t = n.length; e < t; e++) {
+ const t = n[e];
+ i[a++] = t[0];
+ i[a++] = t[1];
+ }
+ this.coords = i;
+ const s = this.colors,
+ o = new Uint8Array(3 * s.length);
+ for (e = 0, a = 0, t = s.length; e < t; e++) {
+ const t = s[e];
+ o[a++] = t[0];
+ o[a++] = t[1];
+ o[a++] = t[2];
+ }
+ this.colors = o;
+ const c = this.figures;
+ for (e = 0, t = c.length; e < t; e++) {
+ const t = c[e],
+ n = t.coords,
+ i = t.colors;
+ for (a = 0, r = n.length; a < r; a++) {
+ n[a] *= 2;
+ i[a] *= 3;
+ }
+ }
+ }
+ getIR() {
+ return [
+ 'Mesh',
+ this.shadingType,
+ this.coords,
+ this.colors,
+ this.figures,
+ this.bounds,
+ this.bbox,
+ this.background,
+ ];
+ }
+ }
+ class DummyShading extends BaseShading {
+ getIR() {
+ return ['Dummy'];
+ }
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.getXfaFontDict = function getXfaFontDict(e) {
+ const t = (function getXfaFontWidths(e) {
+ const t = getXfaFontName(e);
+ if (!t) return null;
+ const {baseWidths: a, baseMapping: r, factors: n} = t;
+ let i;
+ i = n ? a.map((e, t) => e * n[t]) : a;
+ let s,
+ o = -2;
+ const c = [];
+ for (const [e, t] of r.map((e, t) => [e, t]).sort(([e], [t]) => e - t))
+ if (-1 !== e)
+ if (e === o + 1) {
+ s.push(i[t]);
+ o += 1;
+ } else {
+ o = e;
+ s = [i[t]];
+ c.push(e, s);
+ }
+ return c;
+ })(e),
+ a = new n.Dict(null);
+ a.set('BaseFont', n.Name.get(e));
+ a.set('Type', n.Name.get('Font'));
+ a.set('Subtype', n.Name.get('CIDFontType2'));
+ a.set('Encoding', n.Name.get('Identity-H'));
+ a.set('CIDToGIDMap', n.Name.get('Identity'));
+ a.set('W', t);
+ a.set('FirstChar', t[0]);
+ a.set('LastChar', t.at(-2) + t.at(-1).length - 1);
+ const r = new n.Dict(null);
+ a.set('FontDescriptor', r);
+ const i = new n.Dict(null);
+ i.set('Ordering', 'Identity');
+ i.set('Registry', 'Adobe');
+ i.set('Supplement', 0);
+ a.set('CIDSystemInfo', i);
+ return a;
+ };
+ t.getXfaFontName = getXfaFontName;
+ var r = a(52),
+ n = a(5),
+ i = a(53),
+ s = a(54),
+ o = a(55),
+ c = a(56),
+ l = a(6),
+ h = a(38);
+ const u = (0, l.getLookupTableFactory)(function (e) {
+ e['MyriadPro-Regular'] = e['PdfJS-Fallback-Regular'] = {
+ name: 'LiberationSans-Regular',
+ factors: o.MyriadProRegularFactors,
+ baseWidths: s.LiberationSansRegularWidths,
+ baseMapping: s.LiberationSansRegularMapping,
+ metrics: o.MyriadProRegularMetrics,
+ };
+ e['MyriadPro-Bold'] = e['PdfJS-Fallback-Bold'] = {
+ name: 'LiberationSans-Bold',
+ factors: o.MyriadProBoldFactors,
+ baseWidths: s.LiberationSansBoldWidths,
+ baseMapping: s.LiberationSansBoldMapping,
+ metrics: o.MyriadProBoldMetrics,
+ };
+ e['MyriadPro-It'] =
+ e['MyriadPro-Italic'] =
+ e['PdfJS-Fallback-Italic'] =
+ {
+ name: 'LiberationSans-Italic',
+ factors: o.MyriadProItalicFactors,
+ baseWidths: s.LiberationSansItalicWidths,
+ baseMapping: s.LiberationSansItalicMapping,
+ metrics: o.MyriadProItalicMetrics,
+ };
+ e['MyriadPro-BoldIt'] =
+ e['MyriadPro-BoldItalic'] =
+ e['PdfJS-Fallback-BoldItalic'] =
+ {
+ name: 'LiberationSans-BoldItalic',
+ factors: o.MyriadProBoldItalicFactors,
+ baseWidths: s.LiberationSansBoldItalicWidths,
+ baseMapping: s.LiberationSansBoldItalicMapping,
+ metrics: o.MyriadProBoldItalicMetrics,
+ };
+ e.ArialMT =
+ e.Arial =
+ e['Arial-Regular'] =
+ {
+ name: 'LiberationSans-Regular',
+ baseWidths: s.LiberationSansRegularWidths,
+ baseMapping: s.LiberationSansRegularMapping,
+ };
+ e['Arial-BoldMT'] = e['Arial-Bold'] = {
+ name: 'LiberationSans-Bold',
+ baseWidths: s.LiberationSansBoldWidths,
+ baseMapping: s.LiberationSansBoldMapping,
+ };
+ e['Arial-ItalicMT'] = e['Arial-Italic'] = {
+ name: 'LiberationSans-Italic',
+ baseWidths: s.LiberationSansItalicWidths,
+ baseMapping: s.LiberationSansItalicMapping,
+ };
+ e['Arial-BoldItalicMT'] = e['Arial-BoldItalic'] = {
+ name: 'LiberationSans-BoldItalic',
+ baseWidths: s.LiberationSansBoldItalicWidths,
+ baseMapping: s.LiberationSansBoldItalicMapping,
+ };
+ e['Calibri-Regular'] = {
+ name: 'LiberationSans-Regular',
+ factors: r.CalibriRegularFactors,
+ baseWidths: s.LiberationSansRegularWidths,
+ baseMapping: s.LiberationSansRegularMapping,
+ metrics: r.CalibriRegularMetrics,
+ };
+ e['Calibri-Bold'] = {
+ name: 'LiberationSans-Bold',
+ factors: r.CalibriBoldFactors,
+ baseWidths: s.LiberationSansBoldWidths,
+ baseMapping: s.LiberationSansBoldMapping,
+ metrics: r.CalibriBoldMetrics,
+ };
+ e['Calibri-Italic'] = {
+ name: 'LiberationSans-Italic',
+ factors: r.CalibriItalicFactors,
+ baseWidths: s.LiberationSansItalicWidths,
+ baseMapping: s.LiberationSansItalicMapping,
+ metrics: r.CalibriItalicMetrics,
+ };
+ e['Calibri-BoldItalic'] = {
+ name: 'LiberationSans-BoldItalic',
+ factors: r.CalibriBoldItalicFactors,
+ baseWidths: s.LiberationSansBoldItalicWidths,
+ baseMapping: s.LiberationSansBoldItalicMapping,
+ metrics: r.CalibriBoldItalicMetrics,
+ };
+ e['Segoeui-Regular'] = {
+ name: 'LiberationSans-Regular',
+ factors: c.SegoeuiRegularFactors,
+ baseWidths: s.LiberationSansRegularWidths,
+ baseMapping: s.LiberationSansRegularMapping,
+ metrics: c.SegoeuiRegularMetrics,
+ };
+ e['Segoeui-Bold'] = {
+ name: 'LiberationSans-Bold',
+ factors: c.SegoeuiBoldFactors,
+ baseWidths: s.LiberationSansBoldWidths,
+ baseMapping: s.LiberationSansBoldMapping,
+ metrics: c.SegoeuiBoldMetrics,
+ };
+ e['Segoeui-Italic'] = {
+ name: 'LiberationSans-Italic',
+ factors: c.SegoeuiItalicFactors,
+ baseWidths: s.LiberationSansItalicWidths,
+ baseMapping: s.LiberationSansItalicMapping,
+ metrics: c.SegoeuiItalicMetrics,
+ };
+ e['Segoeui-BoldItalic'] = {
+ name: 'LiberationSans-BoldItalic',
+ factors: c.SegoeuiBoldItalicFactors,
+ baseWidths: s.LiberationSansBoldItalicWidths,
+ baseMapping: s.LiberationSansBoldItalicMapping,
+ metrics: c.SegoeuiBoldItalicMetrics,
+ };
+ e['Helvetica-Regular'] = e.Helvetica = {
+ name: 'LiberationSans-Regular',
+ factors: i.HelveticaRegularFactors,
+ baseWidths: s.LiberationSansRegularWidths,
+ baseMapping: s.LiberationSansRegularMapping,
+ metrics: i.HelveticaRegularMetrics,
+ };
+ e['Helvetica-Bold'] = {
+ name: 'LiberationSans-Bold',
+ factors: i.HelveticaBoldFactors,
+ baseWidths: s.LiberationSansBoldWidths,
+ baseMapping: s.LiberationSansBoldMapping,
+ metrics: i.HelveticaBoldMetrics,
+ };
+ e['Helvetica-Italic'] = {
+ name: 'LiberationSans-Italic',
+ factors: i.HelveticaItalicFactors,
+ baseWidths: s.LiberationSansItalicWidths,
+ baseMapping: s.LiberationSansItalicMapping,
+ metrics: i.HelveticaItalicMetrics,
+ };
+ e['Helvetica-BoldItalic'] = {
+ name: 'LiberationSans-BoldItalic',
+ factors: i.HelveticaBoldItalicFactors,
+ baseWidths: s.LiberationSansBoldItalicWidths,
+ baseMapping: s.LiberationSansBoldItalicMapping,
+ metrics: i.HelveticaBoldItalicMetrics,
+ };
+ });
+ function getXfaFontName(e) {
+ const t = (0, h.normalizeFontName)(e);
+ return u()[t];
+ }
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.CalibriRegularMetrics =
+ t.CalibriRegularFactors =
+ t.CalibriItalicMetrics =
+ t.CalibriItalicFactors =
+ t.CalibriBoldMetrics =
+ t.CalibriBoldItalicMetrics =
+ t.CalibriBoldItalicFactors =
+ t.CalibriBoldFactors =
+ void 0;
+ t.CalibriBoldFactors = [
+ 1.3877, 1, 1, 1, 0.97801, 0.92482, 0.89552, 0.91133, 0.81988, 0.97566, 0.98152, 0.93548, 0.93548, 1.2798,
+ 0.85284, 0.92794, 1, 0.96134, 1.54657, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133,
+ 0.91133, 0.91133, 0.91133, 0.82845, 0.82845, 0.85284, 0.85284, 0.85284, 0.75859, 0.92138, 0.83908, 0.7762,
+ 0.73293, 0.87289, 0.73133, 0.7514, 0.81921, 0.87356, 0.95958, 0.59526, 0.75727, 0.69225, 1.04924, 0.9121,
+ 0.86943, 0.79795, 0.88198, 0.77958, 0.70864, 0.81055, 0.90399, 0.88653, 0.96017, 0.82577, 0.77892, 0.78257,
+ 0.97507, 1.54657, 0.97507, 0.85284, 0.89552, 0.90176, 0.88762, 0.8785, 0.75241, 0.8785, 0.90518, 0.95015,
+ 0.77618, 0.8785, 0.88401, 0.91916, 0.86304, 0.88401, 0.91488, 0.8785, 0.8801, 0.8785, 0.8785, 0.91343,
+ 0.7173, 1.04106, 0.8785, 0.85075, 0.95794, 0.82616, 0.85162, 0.79492, 0.88331, 1.69808, 0.88331, 0.85284,
+ 0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.7801, 0.89552, 1.24487, 1.13254, 1.12401, 0.96839, 0.85284,
+ 0.68787, 0.70645, 0.85592, 0.90747, 1.01466, 1.0088, 0.90323, 1, 1.07463, 1, 0.91056, 0.75806, 1.19118,
+ 0.96839, 0.78864, 0.82845, 0.84133, 0.75859, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.77539,
+ 0.73293, 0.73133, 0.73133, 0.73133, 0.73133, 0.95958, 0.95958, 0.95958, 0.95958, 0.88506, 0.9121, 0.86943,
+ 0.86943, 0.86943, 0.86943, 0.86943, 0.85284, 0.87508, 0.90399, 0.90399, 0.90399, 0.90399, 0.77892, 0.79795,
+ 0.90807, 0.88762, 0.88762, 0.88762, 0.88762, 0.88762, 0.88762, 0.8715, 0.75241, 0.90518, 0.90518, 0.90518,
+ 0.90518, 0.88401, 0.88401, 0.88401, 0.88401, 0.8785, 0.8785, 0.8801, 0.8801, 0.8801, 0.8801, 0.8801,
+ 0.90747, 0.89049, 0.8785, 0.8785, 0.8785, 0.8785, 0.85162, 0.8785, 0.85162, 0.83908, 0.88762, 0.83908,
+ 0.88762, 0.83908, 0.88762, 0.73293, 0.75241, 0.73293, 0.75241, 0.73293, 0.75241, 0.73293, 0.75241, 0.87289,
+ 0.83016, 0.88506, 0.93125, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133,
+ 0.90518, 0.81921, 0.77618, 0.81921, 0.77618, 0.81921, 0.77618, 1, 1, 0.87356, 0.8785, 0.91075, 0.89608,
+ 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.76229, 0.90167,
+ 0.59526, 0.91916, 1, 1, 0.86304, 0.69225, 0.88401, 1, 1, 0.70424, 0.79468, 0.91926, 0.88175, 0.70823,
+ 0.94903, 0.9121, 0.8785, 1, 1, 0.9121, 0.8785, 0.87802, 0.88656, 0.8785, 0.86943, 0.8801, 0.86943, 0.8801,
+ 0.86943, 0.8801, 0.87402, 0.89291, 0.77958, 0.91343, 1, 1, 0.77958, 0.91343, 0.70864, 0.7173, 0.70864,
+ 0.7173, 0.70864, 0.7173, 0.70864, 0.7173, 1, 1, 0.81055, 0.75841, 0.81055, 1.06452, 0.90399, 0.8785,
+ 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.96017, 0.95794,
+ 0.77892, 0.85162, 0.77892, 0.78257, 0.79492, 0.78257, 0.79492, 0.78257, 0.79492, 0.9297, 0.56892, 0.83908,
+ 0.88762, 0.77539, 0.8715, 0.87508, 0.89049, 1, 1, 0.81055, 1.04106, 1.20528, 1.20528, 1, 1.15543, 0.70674,
+ 0.98387, 0.94721, 1.33431, 1.45894, 0.95161, 1.06303, 0.83908, 0.80352, 0.57184, 0.6965, 0.56289, 0.82001,
+ 0.56029, 0.81235, 1.02988, 0.83908, 0.7762, 0.68156, 0.80367, 0.73133, 0.78257, 0.87356, 0.86943, 0.95958,
+ 0.75727, 0.89019, 1.04924, 0.9121, 0.7648, 0.86943, 0.87356, 0.79795, 0.78275, 0.81055, 0.77892, 0.9762,
+ 0.82577, 0.99819, 0.84896, 0.95958, 0.77892, 0.96108, 1.01407, 0.89049, 1.02988, 0.94211, 0.96108, 0.8936,
+ 0.84021, 0.87842, 0.96399, 0.79109, 0.89049, 1.00813, 1.02988, 0.86077, 0.87445, 0.92099, 0.84723, 0.86513,
+ 0.8801, 0.75638, 0.85714, 0.78216, 0.79586, 0.87965, 0.94211, 0.97747, 0.78287, 0.97926, 0.84971, 1.02988,
+ 0.94211, 0.8801, 0.94211, 0.84971, 0.73133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90264, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90518, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 0.90548, 1, 1, 1, 1, 1, 1, 0.96017, 0.95794, 0.96017, 0.95794, 0.96017, 0.95794, 0.77892, 0.85162,
+ 1, 1, 0.89552, 0.90527, 1, 0.90363, 0.92794, 0.92794, 0.92794, 0.92794, 0.87012, 0.87012, 0.87012, 0.89552,
+ 0.89552, 1.42259, 0.71143, 1.06152, 1, 1, 1.03372, 1.03372, 0.97171, 1.4956, 2.2807, 0.93835, 0.83406,
+ 0.91133, 0.84107, 0.91133, 1, 1, 1, 0.72021, 1, 1.23108, 0.83489, 0.88525, 0.88525, 0.81499, 0.90527,
+ 1.81055, 0.90527, 1.81055, 1.31006, 1.53711, 0.94434, 1.08696, 1, 0.95018, 0.77192, 0.85284, 0.90747,
+ 1.17534, 0.69825, 0.9716, 1.37077, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941,
+ 0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1,
+ 1, 1, 1.08004, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90727, 0.90727, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.CalibriBoldMetrics = {lineHeight: 1.2207, lineGap: 0.2207};
+ t.CalibriBoldItalicFactors = [
+ 1.3877, 1, 1, 1, 0.97801, 0.92482, 0.89552, 0.91133, 0.81988, 0.97566, 0.98152, 0.93548, 0.93548, 1.2798,
+ 0.85284, 0.92794, 1, 0.96134, 1.56239, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133,
+ 0.91133, 0.91133, 0.91133, 0.82845, 0.82845, 0.85284, 0.85284, 0.85284, 0.75859, 0.92138, 0.83908, 0.7762,
+ 0.71805, 0.87289, 0.73133, 0.7514, 0.81921, 0.87356, 0.95958, 0.59526, 0.75727, 0.69225, 1.04924, 0.90872,
+ 0.85938, 0.79795, 0.87068, 0.77958, 0.69766, 0.81055, 0.90399, 0.88653, 0.96068, 0.82577, 0.77892, 0.78257,
+ 0.97507, 1.529, 0.97507, 0.85284, 0.89552, 0.90176, 0.94908, 0.86411, 0.74012, 0.86411, 0.88323, 0.95015,
+ 0.86411, 0.86331, 0.88401, 0.91916, 0.86304, 0.88401, 0.9039, 0.86331, 0.86331, 0.86411, 0.86411, 0.90464,
+ 0.70852, 1.04106, 0.86331, 0.84372, 0.95794, 0.82616, 0.84548, 0.79492, 0.88331, 1.69808, 0.88331, 0.85284,
+ 0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.7801, 0.89552, 1.24487, 1.13254, 1.19129, 0.96839, 0.85284,
+ 0.68787, 0.70645, 0.85592, 0.90747, 1.01466, 1.0088, 0.90323, 1, 1.07463, 1, 0.91056, 0.75806, 1.19118,
+ 0.96839, 0.78864, 0.82845, 0.84133, 0.75859, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.77539,
+ 0.71805, 0.73133, 0.73133, 0.73133, 0.73133, 0.95958, 0.95958, 0.95958, 0.95958, 0.88506, 0.90872, 0.85938,
+ 0.85938, 0.85938, 0.85938, 0.85938, 0.85284, 0.87068, 0.90399, 0.90399, 0.90399, 0.90399, 0.77892, 0.79795,
+ 0.90807, 0.94908, 0.94908, 0.94908, 0.94908, 0.94908, 0.94908, 0.85887, 0.74012, 0.88323, 0.88323, 0.88323,
+ 0.88323, 0.88401, 0.88401, 0.88401, 0.88401, 0.8785, 0.86331, 0.86331, 0.86331, 0.86331, 0.86331, 0.86331,
+ 0.90747, 0.89049, 0.86331, 0.86331, 0.86331, 0.86331, 0.84548, 0.86411, 0.84548, 0.83908, 0.94908, 0.83908,
+ 0.94908, 0.83908, 0.94908, 0.71805, 0.74012, 0.71805, 0.74012, 0.71805, 0.74012, 0.71805, 0.74012, 0.87289,
+ 0.79538, 0.88506, 0.92726, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133,
+ 0.88323, 0.81921, 0.86411, 0.81921, 0.86411, 0.81921, 0.86411, 1, 1, 0.87356, 0.86331, 0.91075, 0.8777,
+ 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.76467, 0.90167,
+ 0.59526, 0.91916, 1, 1, 0.86304, 0.69225, 0.88401, 1, 1, 0.70424, 0.77312, 0.91926, 0.88175, 0.70823,
+ 0.94903, 0.90872, 0.86331, 1, 1, 0.90872, 0.86331, 0.86906, 0.88116, 0.86331, 0.85938, 0.86331, 0.85938,
+ 0.86331, 0.85938, 0.86331, 0.87402, 0.86549, 0.77958, 0.90464, 1, 1, 0.77958, 0.90464, 0.69766, 0.70852,
+ 0.69766, 0.70852, 0.69766, 0.70852, 0.69766, 0.70852, 1, 1, 0.81055, 0.75841, 0.81055, 1.06452, 0.90399,
+ 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.96068,
+ 0.95794, 0.77892, 0.84548, 0.77892, 0.78257, 0.79492, 0.78257, 0.79492, 0.78257, 0.79492, 0.9297, 0.56892,
+ 0.83908, 0.94908, 0.77539, 0.85887, 0.87068, 0.89049, 1, 1, 0.81055, 1.04106, 1.20528, 1.20528, 1, 1.15543,
+ 0.70088, 0.98387, 0.94721, 1.33431, 1.45894, 0.95161, 1.48387, 0.83908, 0.80352, 0.57118, 0.6965, 0.56347,
+ 0.79179, 0.55853, 0.80346, 1.02988, 0.83908, 0.7762, 0.67174, 0.86036, 0.73133, 0.78257, 0.87356, 0.86441,
+ 0.95958, 0.75727, 0.89019, 1.04924, 0.90872, 0.74889, 0.85938, 0.87891, 0.79795, 0.7957, 0.81055, 0.77892,
+ 0.97447, 0.82577, 0.97466, 0.87179, 0.95958, 0.77892, 0.94252, 0.95612, 0.8753, 1.02988, 0.92733, 0.94252,
+ 0.87411, 0.84021, 0.8728, 0.95612, 0.74081, 0.8753, 1.02189, 1.02988, 0.84814, 0.87445, 0.91822, 0.84723,
+ 0.85668, 0.86331, 0.81344, 0.87581, 0.76422, 0.82046, 0.96057, 0.92733, 0.99375, 0.78022, 0.95452, 0.86015,
+ 1.02988, 0.92733, 0.86331, 0.92733, 0.86015, 0.73133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90631, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.88323, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 0.85174, 1, 1, 1, 1, 1, 1, 0.96068, 0.95794, 0.96068, 0.95794, 0.96068, 0.95794, 0.77892,
+ 0.84548, 1, 1, 0.89552, 0.90527, 1, 0.90363, 0.92794, 0.92794, 0.92794, 0.89807, 0.87012, 0.87012, 0.87012,
+ 0.89552, 0.89552, 1.42259, 0.71094, 1.06152, 1, 1, 1.03372, 1.03372, 0.97171, 1.4956, 2.2807, 0.92972,
+ 0.83406, 0.91133, 0.83326, 0.91133, 1, 1, 1, 0.72021, 1, 1.23108, 0.83489, 0.88525, 0.88525, 0.81499,
+ 0.90616, 1.81055, 0.90527, 1.81055, 1.3107, 1.53711, 0.94434, 1.08696, 1, 0.95018, 0.77192, 0.85284,
+ 0.90747, 1.17534, 0.69825, 0.9716, 1.37077, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284,
+ 0.8941, 0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862,
+ 1, 1, 1, 1, 1, 1.08004, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90727, 0.90727, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.CalibriBoldItalicMetrics = {lineHeight: 1.2207, lineGap: 0.2207};
+ t.CalibriItalicFactors = [
+ 1.3877, 1, 1, 1, 1.17223, 1.1293, 0.89552, 0.91133, 0.80395, 1.02269, 1.15601, 0.91056, 0.91056, 1.2798,
+ 0.85284, 0.89807, 1, 0.90861, 1.39543, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133,
+ 0.91133, 0.91133, 0.91133, 0.96309, 0.96309, 0.85284, 0.85284, 0.85284, 0.83319, 0.88071, 0.8675, 0.81552,
+ 0.72346, 0.85193, 0.73206, 0.7522, 0.81105, 0.86275, 0.90685, 0.6377, 0.77892, 0.75593, 1.02638, 0.89249,
+ 0.84118, 0.77452, 0.85374, 0.75186, 0.67789, 0.79776, 0.88844, 0.85066, 0.94309, 0.77818, 0.7306, 0.76659,
+ 1.10369, 1.38313, 1.10369, 1.06139, 0.89552, 0.8739, 0.9245, 0.9245, 0.83203, 0.9245, 0.85865, 1.09842,
+ 0.9245, 0.9245, 1.03297, 1.07692, 0.90918, 1.03297, 0.94959, 0.9245, 0.92274, 0.9245, 0.9245, 1.02933,
+ 0.77832, 1.20562, 0.9245, 0.8916, 0.98986, 0.86621, 0.89453, 0.79004, 0.94152, 1.77256, 0.94152, 0.85284,
+ 0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.91729, 0.89552, 1.17889, 1.13254, 1.16359, 0.92098, 0.85284,
+ 0.68787, 0.71353, 0.84737, 0.90747, 1.0088, 1.0044, 0.87683, 1, 1.09091, 1, 0.92229, 0.739, 1.15642,
+ 0.92098, 0.76288, 0.80504, 0.80972, 0.75859, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.76318,
+ 0.72346, 0.73206, 0.73206, 0.73206, 0.73206, 0.90685, 0.90685, 0.90685, 0.90685, 0.86477, 0.89249, 0.84118,
+ 0.84118, 0.84118, 0.84118, 0.84118, 0.85284, 0.84557, 0.88844, 0.88844, 0.88844, 0.88844, 0.7306, 0.77452,
+ 0.86331, 0.9245, 0.9245, 0.9245, 0.9245, 0.9245, 0.9245, 0.84843, 0.83203, 0.85865, 0.85865, 0.85865,
+ 0.85865, 0.82601, 0.82601, 0.82601, 0.82601, 0.94469, 0.9245, 0.92274, 0.92274, 0.92274, 0.92274, 0.92274,
+ 0.90747, 0.86651, 0.9245, 0.9245, 0.9245, 0.9245, 0.89453, 0.9245, 0.89453, 0.8675, 0.9245, 0.8675, 0.9245,
+ 0.8675, 0.9245, 0.72346, 0.83203, 0.72346, 0.83203, 0.72346, 0.83203, 0.72346, 0.83203, 0.85193, 0.8875,
+ 0.86477, 0.99034, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865,
+ 0.81105, 0.9245, 0.81105, 0.9245, 0.81105, 0.9245, 1, 1, 0.86275, 0.9245, 0.90872, 0.93591, 0.90685,
+ 0.82601, 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 1.03297, 0.90685, 0.82601, 0.77896, 1.05611, 0.6377,
+ 1.07692, 1, 1, 0.90918, 0.75593, 1.03297, 1, 1, 0.76032, 0.9375, 0.98156, 0.93407, 0.77261, 1.11429,
+ 0.89249, 0.9245, 1, 1, 0.89249, 0.9245, 0.92534, 0.86698, 0.9245, 0.84118, 0.92274, 0.84118, 0.92274,
+ 0.84118, 0.92274, 0.8667, 0.86291, 0.75186, 1.02933, 1, 1, 0.75186, 1.02933, 0.67789, 0.77832, 0.67789,
+ 0.77832, 0.67789, 0.77832, 0.67789, 0.77832, 1, 1, 0.79776, 0.97655, 0.79776, 1.23023, 0.88844, 0.9245,
+ 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.94309, 0.98986,
+ 0.7306, 0.89453, 0.7306, 0.76659, 0.79004, 0.76659, 0.79004, 0.76659, 0.79004, 1.09231, 0.54873, 0.8675,
+ 0.9245, 0.76318, 0.84843, 0.84557, 0.86651, 1, 1, 0.79776, 1.20562, 1.18622, 1.18622, 1, 1.1437, 0.67009,
+ 0.96334, 0.93695, 1.35191, 1.40909, 0.95161, 1.48387, 0.8675, 0.90861, 0.6192, 0.7363, 0.64824, 0.82411,
+ 0.56321, 0.85696, 1.23516, 0.8675, 0.81552, 0.7286, 0.84134, 0.73206, 0.76659, 0.86275, 0.84369, 0.90685,
+ 0.77892, 0.85871, 1.02638, 0.89249, 0.75828, 0.84118, 0.85984, 0.77452, 0.76466, 0.79776, 0.7306, 0.90782,
+ 0.77818, 0.903, 0.87291, 0.90685, 0.7306, 0.99058, 1.03667, 0.94635, 1.23516, 0.9849, 0.99058, 0.92393,
+ 0.8916, 0.942, 1.03667, 0.75026, 0.94635, 1.0297, 1.23516, 0.90918, 0.94048, 0.98217, 0.89746, 0.84153,
+ 0.92274, 0.82507, 0.88832, 0.84438, 0.88178, 1.03525, 0.9849, 1.00225, 0.78086, 0.97248, 0.89404, 1.23516,
+ 0.9849, 0.92274, 0.9849, 0.89404, 0.73206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89693, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.85865, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0.90933, 1, 1, 1, 1, 1, 1, 0.94309, 0.98986, 0.94309, 0.98986, 0.94309, 0.98986, 0.7306, 0.89453, 1,
+ 1, 0.89552, 0.90527, 1, 0.90186, 1.12308, 1.12308, 1.12308, 1.12308, 1.2566, 1.2566, 1.2566, 0.89552,
+ 0.89552, 1.42259, 0.68994, 1.03809, 1, 1, 1.0176, 1.0176, 1.11523, 1.4956, 2.01462, 0.97858, 0.82616,
+ 0.91133, 0.83437, 0.91133, 1, 1, 1, 0.70508, 1, 1.23108, 0.79801, 0.84426, 0.84426, 0.774, 0.90572, 1.81055,
+ 0.90749, 1.81055, 1.28809, 1.55469, 0.94434, 1.07806, 1, 0.97094, 0.7589, 0.85284, 0.90747, 1.19658,
+ 0.69825, 0.97622, 1.33512, 0.90747, 0.90747, 0.85284, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941, 0.8941,
+ 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1, 1, 1,
+ 1.0336, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05859, 1.05859, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.CalibriItalicMetrics = {lineHeight: 1.2207, lineGap: 0.2207};
+ t.CalibriRegularFactors = [
+ 1.3877, 1, 1, 1, 1.17223, 1.1293, 0.89552, 0.91133, 0.80395, 1.02269, 1.15601, 0.91056, 0.91056, 1.2798,
+ 0.85284, 0.89807, 1, 0.90861, 1.39016, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133,
+ 0.91133, 0.91133, 0.91133, 0.96309, 0.96309, 0.85284, 0.85284, 0.85284, 0.83319, 0.88071, 0.8675, 0.81552,
+ 0.73834, 0.85193, 0.73206, 0.7522, 0.81105, 0.86275, 0.90685, 0.6377, 0.77892, 0.75593, 1.02638, 0.89385,
+ 0.85122, 0.77452, 0.86503, 0.75186, 0.68887, 0.79776, 0.88844, 0.85066, 0.94258, 0.77818, 0.7306, 0.76659,
+ 1.10369, 1.39016, 1.10369, 1.06139, 0.89552, 0.8739, 0.86128, 0.94469, 0.8457, 0.94469, 0.89464, 1.09842,
+ 0.84636, 0.94469, 1.03297, 1.07692, 0.90918, 1.03297, 0.95897, 0.94469, 0.9482, 0.94469, 0.94469, 1.04692,
+ 0.78223, 1.20562, 0.94469, 0.90332, 0.98986, 0.86621, 0.90527, 0.79004, 0.94152, 1.77256, 0.94152, 0.85284,
+ 0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.91729, 0.89552, 1.17889, 1.13254, 1.08707, 0.92098, 0.85284,
+ 0.68787, 0.71353, 0.84737, 0.90747, 1.0088, 1.0044, 0.87683, 1, 1.09091, 1, 0.92229, 0.739, 1.15642,
+ 0.92098, 0.76288, 0.80504, 0.80972, 0.75859, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.76318,
+ 0.73834, 0.73206, 0.73206, 0.73206, 0.73206, 0.90685, 0.90685, 0.90685, 0.90685, 0.86477, 0.89385, 0.85122,
+ 0.85122, 0.85122, 0.85122, 0.85122, 0.85284, 0.85311, 0.88844, 0.88844, 0.88844, 0.88844, 0.7306, 0.77452,
+ 0.86331, 0.86128, 0.86128, 0.86128, 0.86128, 0.86128, 0.86128, 0.8693, 0.8457, 0.89464, 0.89464, 0.89464,
+ 0.89464, 0.82601, 0.82601, 0.82601, 0.82601, 0.94469, 0.94469, 0.9482, 0.9482, 0.9482, 0.9482, 0.9482,
+ 0.90747, 0.86651, 0.94469, 0.94469, 0.94469, 0.94469, 0.90527, 0.94469, 0.90527, 0.8675, 0.86128, 0.8675,
+ 0.86128, 0.8675, 0.86128, 0.73834, 0.8457, 0.73834, 0.8457, 0.73834, 0.8457, 0.73834, 0.8457, 0.85193,
+ 0.92454, 0.86477, 0.9921, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206,
+ 0.89464, 0.81105, 0.84636, 0.81105, 0.84636, 0.81105, 0.84636, 1, 1, 0.86275, 0.94469, 0.90872, 0.95786,
+ 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 1.03297, 0.90685, 0.82601, 0.77741, 1.05611,
+ 0.6377, 1.07692, 1, 1, 0.90918, 0.75593, 1.03297, 1, 1, 0.76032, 0.90452, 0.98156, 1.11842, 0.77261,
+ 1.11429, 0.89385, 0.94469, 1, 1, 0.89385, 0.94469, 0.95877, 0.86901, 0.94469, 0.85122, 0.9482, 0.85122,
+ 0.9482, 0.85122, 0.9482, 0.8667, 0.90016, 0.75186, 1.04692, 1, 1, 0.75186, 1.04692, 0.68887, 0.78223,
+ 0.68887, 0.78223, 0.68887, 0.78223, 0.68887, 0.78223, 1, 1, 0.79776, 0.92188, 0.79776, 1.23023, 0.88844,
+ 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.94258,
+ 0.98986, 0.7306, 0.90527, 0.7306, 0.76659, 0.79004, 0.76659, 0.79004, 0.76659, 0.79004, 1.09231, 0.54873,
+ 0.8675, 0.86128, 0.76318, 0.8693, 0.85311, 0.86651, 1, 1, 0.79776, 1.20562, 1.18622, 1.18622, 1, 1.1437,
+ 0.67742, 0.96334, 0.93695, 1.35191, 1.40909, 0.95161, 1.48387, 0.86686, 0.90861, 0.62267, 0.74359, 0.65649,
+ 0.85498, 0.56963, 0.88254, 1.23516, 0.8675, 0.81552, 0.75443, 0.84503, 0.73206, 0.76659, 0.86275, 0.85122,
+ 0.90685, 0.77892, 0.85746, 1.02638, 0.89385, 0.75657, 0.85122, 0.86275, 0.77452, 0.74171, 0.79776, 0.7306,
+ 0.95165, 0.77818, 0.89772, 0.88831, 0.90685, 0.7306, 0.98142, 1.02191, 0.96576, 1.23516, 0.99018, 0.98142,
+ 0.9236, 0.89258, 0.94035, 1.02191, 0.78848, 0.96576, 0.9561, 1.23516, 0.90918, 0.92578, 0.95424, 0.89746,
+ 0.83969, 0.9482, 0.80113, 0.89442, 0.85208, 0.86155, 0.98022, 0.99018, 1.00452, 0.81209, 0.99247, 0.89181,
+ 1.23516, 0.99018, 0.9482, 0.99018, 0.89181, 0.73206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.88844, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89464, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 0.96766, 1, 1, 1, 1, 1, 1, 0.94258, 0.98986, 0.94258, 0.98986, 0.94258, 0.98986, 0.7306,
+ 0.90527, 1, 1, 0.89552, 0.90527, 1, 0.90186, 1.12308, 1.12308, 1.12308, 1.12308, 1.2566, 1.2566, 1.2566,
+ 0.89552, 0.89552, 1.42259, 0.69043, 1.03809, 1, 1, 1.0176, 1.0176, 1.11523, 1.4956, 2.01462, 0.99331,
+ 0.82616, 0.91133, 0.84286, 0.91133, 1, 1, 1, 0.70508, 1, 1.23108, 0.79801, 0.84426, 0.84426, 0.774, 0.90527,
+ 1.81055, 0.90527, 1.81055, 1.28809, 1.55469, 0.94434, 1.07806, 1, 0.97094, 0.7589, 0.85284, 0.90747,
+ 1.19658, 0.69825, 0.97622, 1.33512, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941,
+ 0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1,
+ 1, 1, 1.0336, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05859, 1.05859, 1, 1, 1,
+ 1.07185, 0.99413, 0.96334, 1.08065, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.CalibriRegularMetrics = {lineHeight: 1.2207, lineGap: 0.2207};
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.HelveticaRegularMetrics =
+ t.HelveticaRegularFactors =
+ t.HelveticaItalicMetrics =
+ t.HelveticaItalicFactors =
+ t.HelveticaBoldMetrics =
+ t.HelveticaBoldItalicMetrics =
+ t.HelveticaBoldItalicFactors =
+ t.HelveticaBoldFactors =
+ void 0;
+ t.HelveticaBoldFactors = [
+ 0.76116, 1, 1, 1.0006, 0.99998, 0.99974, 0.99973, 0.99973, 0.99982, 0.99977, 1.00087, 0.99998, 0.99998,
+ 0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
+ 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1, 1.00003, 1.00003, 1.00003, 1.00026, 0.9999, 0.99977,
+ 0.99977, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 0.99973, 0.99977, 1.00026, 0.99999,
+ 0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001,
+ 1.00026, 0.99998, 1.0006, 0.99998, 1.00003, 0.99973, 0.99998, 0.99973, 1.00026, 0.99973, 1.00026, 0.99973,
+ 0.99998, 1.00026, 1.00026, 1.0006, 1.0006, 0.99973, 1.0006, 0.99982, 1.00026, 1.00026, 1.00026, 1.00026,
+ 0.99959, 0.99973, 0.99998, 1.00026, 0.99973, 1.00022, 0.99973, 0.99973, 1, 0.99959, 1.00077, 0.99959,
+ 1.00003, 0.99998, 0.99973, 0.99973, 0.99973, 0.99973, 1.00077, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973,
+ 1.00003, 1.00025, 0.60299, 1.00024, 1.06409, 1, 1, 0.99998, 1, 0.99973, 1.0006, 0.99998, 1, 0.99936,
+ 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 1,
+ 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, 0.99977, 0.99977, 1.00022,
+ 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00001,
+ 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99982, 0.99973, 0.99973, 0.99973, 0.99973,
+ 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026,
+ 1.06409, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 0.99973, 1.00026, 0.99973, 0.99977, 0.99973, 0.99977,
+ 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977,
+ 1.03374, 0.99977, 1.00026, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001,
+ 0.99973, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 0.99977, 1.00026, 0.99977,
+ 1.00026, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.00042, 0.99973,
+ 0.99973, 1.0006, 0.99977, 0.99973, 0.99973, 1.00026, 1.0006, 1.00026, 1.0006, 1.00026, 1.03828, 1.00026,
+ 0.99999, 1.00026, 1.0006, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.9993, 0.9998, 1.00026,
+ 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1, 1.00016, 0.99977, 0.99959, 0.99977, 0.99959,
+ 0.99977, 0.99959, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00026, 0.99998,
+ 1.00026, 0.8121, 1.00026, 0.99998, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026,
+ 0.99977, 1.00026, 0.99977, 1.00026, 1.00016, 1.00022, 1.00001, 0.99973, 1.00001, 1.00026, 1, 1.00026, 1,
+ 1.00026, 1, 1.0006, 0.99973, 0.99977, 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 0.99973, 1.00026,
+ 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 1.00034,
+ 0.99977, 1, 0.99997, 1.00026, 1.00078, 1.00036, 0.99973, 1.00013, 1.0006, 0.99977, 0.99977, 0.99988,
+ 0.85148, 1.00001, 1.00026, 0.99977, 1.00022, 1.0006, 0.99977, 1.00001, 0.99999, 0.99977, 1.00069, 1.00022,
+ 0.99977, 1.00001, 0.99984, 1.00026, 1.00001, 1.00024, 1.00001, 0.9999, 1, 1.0006, 1.00001, 1.00041, 0.99962,
+ 1.00026, 1.0006, 0.99995, 1.00041, 0.99942, 0.99973, 0.99927, 1.00082, 0.99902, 1.00026, 1.00087, 1.0006,
+ 1.00069, 0.99973, 0.99867, 0.99973, 0.9993, 1.00026, 1.00049, 1.00056, 1, 0.99988, 0.99935, 0.99995,
+ 0.99954, 1.00055, 0.99945, 1.00032, 1.0006, 0.99995, 1.00026, 0.99995, 1.00032, 1.00001, 1.00008, 0.99971,
+ 1.00019, 0.9994, 1.00001, 1.0006, 1.00044, 0.99973, 1.00023, 1.00047, 1, 0.99942, 0.99561, 0.99989, 1.00035,
+ 0.99977, 1.00035, 0.99977, 1.00019, 0.99944, 1.00001, 1.00021, 0.99926, 1.00035, 1.00035, 0.99942, 1.00048,
+ 0.99999, 0.99977, 1.00022, 1.00035, 1.00001, 0.99977, 1.00026, 0.99989, 1.00057, 1.00001, 0.99936, 1.00052,
+ 1.00012, 0.99996, 1.00043, 1, 1.00035, 0.9994, 0.99976, 1.00035, 0.99973, 1.00052, 1.00041, 1.00119,
+ 1.00037, 0.99973, 1.00002, 0.99986, 1.00041, 1.00041, 0.99902, 0.9996, 1.00034, 0.99999, 1.00026, 0.99999,
+ 1.00026, 0.99973, 1.00052, 0.99973, 1, 0.99973, 1.00041, 1.00075, 0.9994, 1.0003, 0.99999, 1, 1.00041,
+ 0.99955, 1, 0.99915, 0.99973, 0.99973, 1.00026, 1.00119, 0.99955, 0.99973, 1.0006, 0.99911, 1.0006, 1.00026,
+ 0.99972, 1.00026, 0.99902, 1.00041, 0.99973, 0.99999, 1, 1, 1.00038, 1.0005, 1.00016, 1.00022, 1.00016,
+ 1.00022, 1.00016, 1.00022, 1.00001, 0.99973, 1, 1, 0.99973, 1, 1, 0.99955, 1.0006, 1.0006, 1.0006, 1.0006,
+ 1, 1, 1, 0.99973, 0.99973, 0.99972, 1, 1, 1.00106, 0.99999, 0.99998, 0.99998, 0.99999, 0.99998, 1.66475, 1,
+ 0.99973, 0.99973, 1.00023, 0.99973, 0.99971, 1.00047, 1.00023, 1, 0.99991, 0.99984, 1.00002, 1.00002,
+ 1.00002, 1.00002, 1, 1, 1, 1, 1, 1, 1, 0.99972, 1, 1.20985, 1.39713, 1.00003, 1.00031, 1.00015, 1, 0.99561,
+ 1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999, 1.00003, 0.99999, 0.99999, 1.41144, 1.6,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, 0.99999, 1,
+ 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.99972, 0.99999, 0.99999, 0.99999, 0.99999,
+ 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1, 0.99998,
+ 0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.HelveticaBoldMetrics = {lineHeight: 1.2, lineGap: 0.2};
+ t.HelveticaBoldItalicFactors = [
+ 0.76116, 1, 1, 1.0006, 0.99998, 0.99974, 0.99973, 0.99973, 0.99982, 0.99977, 1.00087, 0.99998, 0.99998,
+ 0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
+ 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1, 1.00003, 1.00003, 1.00003, 1.00026, 0.9999, 0.99977,
+ 0.99977, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 0.99973, 0.99977, 1.00026, 0.99999,
+ 0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001,
+ 1.00026, 0.99998, 1.0006, 0.99998, 1.00003, 0.99973, 0.99998, 0.99973, 1.00026, 0.99973, 1.00026, 0.99973,
+ 0.99998, 1.00026, 1.00026, 1.0006, 1.0006, 0.99973, 1.0006, 0.99982, 1.00026, 1.00026, 1.00026, 1.00026,
+ 0.99959, 0.99973, 0.99998, 1.00026, 0.99973, 1.00022, 0.99973, 0.99973, 1, 0.99959, 1.00077, 0.99959,
+ 1.00003, 0.99998, 0.99973, 0.99973, 0.99973, 0.99973, 1.00077, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973,
+ 1.00003, 1.00025, 0.60299, 1.00024, 1.06409, 1, 1, 0.99998, 1, 0.99973, 1.0006, 0.99998, 1, 0.99936,
+ 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 1,
+ 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, 0.99977, 0.99977, 1.00022,
+ 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00001,
+ 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99982, 0.99973, 0.99973, 0.99973, 0.99973,
+ 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026,
+ 1.06409, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 0.99973, 1.00026, 0.99973, 0.99977, 0.99973, 0.99977,
+ 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977,
+ 1.0044, 0.99977, 1.00026, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001,
+ 0.99973, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 0.99977, 1.00026, 0.99977,
+ 1.00026, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99971, 0.99973,
+ 0.99973, 1.0006, 0.99977, 0.99973, 0.99973, 1.00026, 1.0006, 1.00026, 1.0006, 1.00026, 1.01011, 1.00026,
+ 0.99999, 1.00026, 1.0006, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.9993, 0.9998, 1.00026,
+ 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1, 1.00016, 0.99977, 0.99959, 0.99977, 0.99959,
+ 0.99977, 0.99959, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00026, 0.99998,
+ 1.00026, 0.8121, 1.00026, 0.99998, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026,
+ 0.99977, 1.00026, 0.99977, 1.00026, 1.00016, 1.00022, 1.00001, 0.99973, 1.00001, 1.00026, 1, 1.00026, 1,
+ 1.00026, 1, 1.0006, 0.99973, 0.99977, 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 0.99973, 1.00026,
+ 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998,
+ 0.99977, 1, 1, 1.00026, 0.99969, 0.99972, 0.99981, 0.9998, 1.0006, 0.99977, 0.99977, 1.00022, 0.91155,
+ 1.00001, 1.00026, 0.99977, 1.00022, 1.0006, 0.99977, 1.00001, 0.99999, 0.99977, 0.99966, 1.00022, 1.00032,
+ 1.00001, 0.99944, 1.00026, 1.00001, 0.99968, 1.00001, 1.00047, 1, 1.0006, 1.00001, 0.99981, 1.00101,
+ 1.00026, 1.0006, 0.99948, 0.99981, 1.00064, 0.99973, 0.99942, 1.00101, 1.00061, 1.00026, 1.00069, 1.0006,
+ 1.00014, 0.99973, 1.01322, 0.99973, 1.00065, 1.00026, 1.00012, 0.99923, 1, 1.00064, 1.00076, 0.99948,
+ 1.00055, 1.00063, 1.00007, 0.99943, 1.0006, 0.99948, 1.00026, 0.99948, 0.99943, 1.00001, 1.00001, 1.00029,
+ 1.00038, 1.00035, 1.00001, 1.0006, 1.0006, 0.99973, 0.99978, 1.00001, 1.00057, 0.99989, 0.99967, 0.99964,
+ 0.99967, 0.99977, 0.99999, 0.99977, 1.00038, 0.99977, 1.00001, 0.99973, 1.00066, 0.99967, 0.99967, 1.00041,
+ 0.99998, 0.99999, 0.99977, 1.00022, 0.99967, 1.00001, 0.99977, 1.00026, 0.99964, 1.00031, 1.00001, 0.99999,
+ 0.99999, 1, 1.00023, 1, 1, 0.99999, 1.00035, 1.00001, 0.99999, 0.99973, 0.99977, 0.99999, 1.00058, 0.99973,
+ 0.99973, 0.99955, 0.9995, 1.00026, 1.00026, 1.00032, 0.99989, 1.00034, 0.99999, 1.00026, 1.00026, 1.00026,
+ 0.99973, 0.45998, 0.99973, 1.00026, 0.99973, 1.00001, 0.99999, 0.99982, 0.99994, 0.99996, 1, 1.00042,
+ 1.00044, 1.00029, 1.00023, 0.99973, 0.99973, 1.00026, 0.99949, 1.00002, 0.99973, 1.0006, 1.0006, 1.0006,
+ 0.99975, 1.00026, 1.00026, 1.00032, 0.98685, 0.99973, 1.00026, 1, 1, 0.99966, 1.00044, 1.00016, 1.00022,
+ 1.00016, 1.00022, 1.00016, 1.00022, 1.00001, 0.99973, 1, 1, 0.99973, 1, 1, 0.99955, 1.0006, 1.0006, 1.0006,
+ 1.0006, 1, 1, 1, 0.99973, 0.99973, 0.99972, 1, 1, 1.00106, 0.99999, 0.99998, 0.99998, 0.99999, 0.99998,
+ 1.66475, 1, 0.99973, 0.99973, 1, 0.99973, 0.99971, 0.99978, 1, 1, 0.99991, 0.99984, 1.00002, 1.00002,
+ 1.00002, 1.00002, 1.00098, 1, 1, 1, 1.00049, 1, 1, 0.99972, 1, 1.20985, 1.39713, 1.00003, 1.00031, 1.00015,
+ 1, 0.99561, 1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999, 1.00003, 0.99999, 0.99999,
+ 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625,
+ 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.99972, 0.99999, 0.99999, 0.99999,
+ 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0.99998, 0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.HelveticaBoldItalicMetrics = {lineHeight: 1.35, lineGap: 0.2};
+ t.HelveticaItalicFactors = [
+ 0.76116, 1, 1, 1.0006, 1.0006, 1.00006, 0.99973, 0.99973, 0.99982, 1.00001, 1.00043, 0.99998, 0.99998,
+ 0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
+ 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1, 1.00003, 1.00003, 1.00003, 0.99973, 0.99987, 1.00001,
+ 1.00001, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 1, 1.00001, 0.99973, 0.99999,
+ 0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001,
+ 1.00026, 1.0006, 1.0006, 1.0006, 0.99949, 0.99973, 0.99998, 0.99973, 0.99973, 1, 0.99973, 0.99973, 1.0006,
+ 0.99973, 0.99973, 0.99924, 0.99924, 1, 0.99924, 0.99999, 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1,
+ 1.0006, 0.99973, 1, 0.99977, 1, 1, 1, 1.00005, 1.0009, 1.00005, 1.00003, 0.99998, 0.99973, 0.99973, 0.99973,
+ 0.99973, 1.0009, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973, 1.00003, 1.00025, 0.60299, 1.00024, 1.06409,
+ 1, 1, 0.99998, 1, 0.9998, 1.0006, 0.99998, 1, 0.99936, 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 1.00001,
+ 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1, 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006,
+ 1.0006, 1.0006, 0.99977, 0.99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977,
+ 0.99977, 0.99977, 0.99977, 1.00001, 1.00001, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
+ 0.99982, 1, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973,
+ 0.99973, 0.99973, 0.99973, 0.99973, 1.06409, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 1, 0.99973, 1,
+ 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 0.99977, 1, 0.99977, 1, 0.99977, 1, 0.99977, 1,
+ 0.99977, 1.0288, 0.99977, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973,
+ 1.00001, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 0.99977, 0.99973,
+ 0.99977, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99924, 1.0006, 1.0006, 0.99946,
+ 1.00034, 1, 0.99924, 1.00001, 1, 1, 0.99973, 0.99924, 0.99973, 0.99924, 0.99973, 1.06311, 0.99973, 1.00024,
+ 0.99973, 0.99924, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 1.00041, 0.9998, 0.99973, 1.00022,
+ 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1, 1.00016, 0.99977, 0.99998, 0.99977, 0.99998, 0.99977,
+ 0.99998, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00026, 1.0006, 1.00026, 0.89547, 1.00026, 1.0006,
+ 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973,
+ 1.00016, 0.99977, 1.00001, 1, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 0.99924, 0.99973, 1.00001,
+ 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 1, 1.00026, 1.0006, 0.99998, 0.99998, 0.99998, 0.99998,
+ 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 1.00001, 1, 1.00054, 0.99977, 1.00084,
+ 1.00007, 0.99973, 1.00013, 0.99924, 1.00001, 1.00001, 0.99945, 0.91221, 1.00001, 1.00026, 0.99977, 1.00022,
+ 1.0006, 1.00001, 1.00001, 0.99999, 0.99977, 0.99933, 1.00022, 1.00054, 1.00001, 1.00065, 1.00026, 1.00001,
+ 1.0001, 1.00001, 1.00052, 1, 1.0006, 1.00001, 0.99945, 0.99897, 0.99968, 0.99924, 1.00036, 0.99945, 0.99949,
+ 1, 1.0006, 0.99897, 0.99918, 0.99968, 0.99911, 0.99924, 1, 0.99962, 1.01487, 1, 1.0005, 0.99973, 1.00012,
+ 1.00043, 1, 0.99995, 0.99994, 1.00036, 0.99947, 1.00019, 1.00063, 1.00025, 0.99924, 1.00036, 0.99973,
+ 1.00036, 1.00025, 1.00001, 1.00001, 1.00027, 1.0001, 1.00068, 1.00001, 1.0006, 1.0006, 1, 1.00008, 0.99957,
+ 0.99972, 0.9994, 0.99954, 0.99975, 1.00051, 1.00001, 1.00019, 1.00001, 1.0001, 0.99986, 1.00001, 1.00001,
+ 1.00038, 0.99954, 0.99954, 0.9994, 1.00066, 0.99999, 0.99977, 1.00022, 1.00054, 1.00001, 0.99977, 1.00026,
+ 0.99975, 1.0001, 1.00001, 0.99993, 0.9995, 0.99955, 1.00016, 0.99978, 0.99974, 1.00019, 1.00022, 0.99955,
+ 1.00053, 0.99973, 1.00089, 1.00005, 0.99967, 1.00048, 0.99973, 1.00002, 1.00034, 0.99973, 0.99973, 0.99964,
+ 1.00006, 1.00066, 0.99947, 0.99973, 0.98894, 0.99973, 1, 0.44898, 1, 0.99946, 1, 1.00039, 1.00082, 0.99991,
+ 0.99991, 0.99985, 1.00022, 1.00023, 1.00061, 1.00006, 0.99966, 0.99973, 0.99973, 0.99973, 1.00019, 1.0008,
+ 1, 0.99924, 0.99924, 0.99924, 0.99983, 1.00044, 0.99973, 0.99964, 0.98332, 1, 0.99973, 1, 1, 0.99962,
+ 0.99895, 1.00016, 0.99977, 1.00016, 0.99977, 1.00016, 0.99977, 1.00001, 1, 1, 1, 0.99973, 1, 1, 0.99955,
+ 0.99924, 0.99924, 0.99924, 0.99924, 0.99998, 0.99998, 0.99998, 0.99973, 0.99973, 0.99972, 1, 1, 1.00267,
+ 0.99999, 0.99998, 0.99998, 1, 0.99998, 1.66475, 1, 0.99973, 0.99973, 1.00023, 0.99973, 1.00423, 0.99925,
+ 0.99999, 1, 0.99991, 0.99984, 1.00002, 1.00002, 1.00002, 1.00002, 1.00049, 1, 1.00245, 1, 1, 1, 1, 0.96329,
+ 1, 1.20985, 1.39713, 1.00003, 0.8254, 1.00015, 1, 1.00035, 1.00027, 1.00031, 1.00031, 1.00003, 1.00031,
+ 1.00031, 0.99999, 1.00003, 0.99999, 0.99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026,
+ 1.00026, 0.95317, 0.99999, 0.99999, 0.99999, 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962,
+ 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1, 0.99998, 0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1,
+ ];
+ t.HelveticaItalicMetrics = {lineHeight: 1.35, lineGap: 0.2};
+ t.HelveticaRegularFactors = [
+ 0.76116, 1, 1, 1.0006, 1.0006, 1.00006, 0.99973, 0.99973, 0.99982, 1.00001, 1.00043, 0.99998, 0.99998,
+ 0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
+ 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1, 1.00003, 1.00003, 1.00003, 0.99973, 0.99987, 1.00001,
+ 1.00001, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 1, 1.00001, 0.99973, 0.99999,
+ 0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001,
+ 1.00026, 1.0006, 1.0006, 1.0006, 0.99949, 0.99973, 0.99998, 0.99973, 0.99973, 1, 0.99973, 0.99973, 1.0006,
+ 0.99973, 0.99973, 0.99924, 0.99924, 1, 0.99924, 0.99999, 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1,
+ 1.0006, 0.99973, 1, 0.99977, 1, 1, 1, 1.00005, 1.0009, 1.00005, 1.00003, 0.99998, 0.99973, 0.99973, 0.99973,
+ 0.99973, 1.0009, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973, 1.00003, 1.00025, 0.60299, 1.00024, 1.06409,
+ 1, 1, 0.99998, 1, 0.9998, 1.0006, 0.99998, 1, 0.99936, 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 1.00001,
+ 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1, 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006,
+ 1.0006, 1.0006, 0.99977, 0.99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977,
+ 0.99977, 0.99977, 0.99977, 1.00001, 1.00001, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
+ 0.99982, 1, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973,
+ 0.99973, 0.99973, 0.99973, 0.99973, 1.06409, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 1, 0.99973, 1,
+ 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 0.99977, 1, 0.99977, 1, 0.99977, 1, 0.99977, 1,
+ 0.99977, 1.04596, 0.99977, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973,
+ 1.00001, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 0.99977, 0.99973,
+ 0.99977, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99924, 1.0006, 1.0006, 1.00019,
+ 1.00034, 1, 0.99924, 1.00001, 1, 1, 0.99973, 0.99924, 0.99973, 0.99924, 0.99973, 1.02572, 0.99973, 1.00005,
+ 0.99973, 0.99924, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99999, 0.9998, 0.99973, 1.00022,
+ 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1, 1.00016, 0.99977, 0.99998, 0.99977, 0.99998, 0.99977,
+ 0.99998, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00026, 1.0006, 1.00026, 0.84533, 1.00026, 1.0006,
+ 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973,
+ 1.00016, 0.99977, 1.00001, 1, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 0.99924, 0.99973, 1.00001,
+ 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 1, 1.00026, 1.0006, 0.99998, 0.99998, 0.99998, 0.99998,
+ 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99928, 1, 0.99977, 1.00013, 1.00055,
+ 0.99947, 0.99945, 0.99941, 0.99924, 1.00001, 1.00001, 1.0004, 0.91621, 1.00001, 1.00026, 0.99977, 1.00022,
+ 1.0006, 1.00001, 1.00005, 0.99999, 0.99977, 1.00015, 1.00022, 0.99977, 1.00001, 0.99973, 1.00026, 1.00001,
+ 1.00019, 1.00001, 0.99946, 1, 1.0006, 1.00001, 0.99978, 1.00045, 0.99973, 0.99924, 1.00023, 0.99978,
+ 0.99966, 1, 1.00065, 1.00045, 1.00019, 0.99973, 0.99973, 0.99924, 1, 1, 0.96499, 1, 1.00055, 0.99973,
+ 1.00008, 1.00027, 1, 0.9997, 0.99995, 1.00023, 0.99933, 1.00019, 1.00015, 1.00031, 0.99924, 1.00023,
+ 0.99973, 1.00023, 1.00031, 1.00001, 0.99928, 1.00029, 1.00092, 1.00035, 1.00001, 1.0006, 1.0006, 1, 0.99988,
+ 0.99975, 1, 1.00082, 0.99561, 0.9996, 1.00035, 1.00001, 0.99962, 1.00001, 1.00092, 0.99964, 1.00001,
+ 0.99963, 0.99999, 1.00035, 1.00035, 1.00082, 0.99962, 0.99999, 0.99977, 1.00022, 1.00035, 1.00001, 0.99977,
+ 1.00026, 0.9996, 0.99967, 1.00001, 1.00034, 1.00074, 1.00054, 1.00053, 1.00063, 0.99971, 0.99962, 1.00035,
+ 0.99975, 0.99977, 0.99973, 1.00043, 0.99953, 1.0007, 0.99915, 0.99973, 1.00008, 0.99892, 1.00073, 1.00073,
+ 1.00114, 0.99915, 1.00073, 0.99955, 0.99973, 1.00092, 0.99973, 1, 0.99998, 1, 1.0003, 1, 1.00043, 1.00001,
+ 0.99969, 1.0003, 1, 1.00035, 1.00001, 0.9995, 1, 1.00092, 0.99973, 0.99973, 0.99973, 1.0007, 0.9995, 1,
+ 0.99924, 1.0006, 0.99924, 0.99972, 1.00062, 0.99973, 1.00114, 1.00073, 1, 0.99955, 1, 1, 1.00047, 0.99968,
+ 1.00016, 0.99977, 1.00016, 0.99977, 1.00016, 0.99977, 1.00001, 1, 1, 1, 0.99973, 1, 1, 0.99955, 0.99924,
+ 0.99924, 0.99924, 0.99924, 0.99998, 0.99998, 0.99998, 0.99973, 0.99973, 0.99972, 1, 1, 1.00267, 0.99999,
+ 0.99998, 0.99998, 1, 0.99998, 1.66475, 1, 0.99973, 0.99973, 1.00023, 0.99973, 0.99971, 0.99925, 1.00023, 1,
+ 0.99991, 0.99984, 1.00002, 1.00002, 1.00002, 1.00002, 1, 1, 1, 1, 1, 1, 1, 0.96329, 1, 1.20985, 1.39713,
+ 1.00003, 0.8254, 1.00015, 1, 1.00035, 1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999,
+ 1.00003, 0.99999, 0.99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
+ 1.40579, 1.40579, 1.36625, 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.95317,
+ 0.99999, 0.99999, 0.99999, 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.HelveticaRegularMetrics = {lineHeight: 1.2, lineGap: 0.2};
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.LiberationSansRegularWidths =
+ t.LiberationSansRegularMapping =
+ t.LiberationSansItalicWidths =
+ t.LiberationSansItalicMapping =
+ t.LiberationSansBoldWidths =
+ t.LiberationSansBoldMapping =
+ t.LiberationSansBoldItalicWidths =
+ t.LiberationSansBoldItalicMapping =
+ void 0;
+ t.LiberationSansBoldWidths = [
+ 365, 0, 333, 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778,
+ 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278,
+ 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611,
+ 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 333, 556, 556, 556, 556, 280, 556, 333,
+ 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834,
+ 611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778,
+ 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556,
+ 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556,
+ 611, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 719, 722, 611, 667,
+ 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 611, 778, 611, 778, 611, 778, 611, 722, 611, 722, 611,
+ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 785, 556, 556, 278, 722, 556, 556, 611, 278, 611, 278,
+ 611, 385, 611, 479, 611, 278, 722, 611, 722, 611, 722, 611, 708, 723, 611, 778, 611, 778, 611, 778, 611,
+ 1e3, 944, 722, 389, 722, 389, 722, 389, 667, 556, 667, 556, 667, 556, 667, 556, 611, 333, 611, 479, 611,
+ 333, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 944, 778, 667, 556, 667, 611, 500, 611,
+ 500, 611, 500, 278, 556, 722, 556, 1e3, 889, 778, 611, 667, 556, 611, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 465, 722, 333, 853, 906, 474, 825, 927, 838, 278, 722, 722, 601, 719, 667, 611, 722,
+ 778, 278, 722, 667, 833, 722, 644, 778, 722, 667, 600, 611, 667, 821, 667, 809, 802, 278, 667, 615, 451,
+ 611, 278, 582, 615, 610, 556, 606, 475, 460, 611, 541, 278, 558, 556, 612, 556, 445, 611, 766, 619, 520,
+ 684, 446, 582, 715, 576, 753, 845, 278, 582, 611, 582, 845, 667, 669, 885, 567, 711, 667, 278, 276, 556,
+ 1094, 1062, 875, 610, 722, 622, 719, 722, 719, 722, 567, 712, 667, 904, 626, 719, 719, 610, 702, 833, 722,
+ 778, 719, 667, 722, 611, 622, 854, 667, 730, 703, 1005, 1019, 870, 979, 719, 711, 1031, 719, 556, 618, 615,
+ 417, 635, 556, 709, 497, 615, 615, 500, 635, 740, 604, 611, 604, 611, 556, 490, 556, 875, 556, 615, 581,
+ 833, 844, 729, 854, 615, 552, 854, 583, 556, 556, 611, 417, 552, 556, 278, 281, 278, 969, 906, 611, 500,
+ 615, 556, 604, 778, 611, 487, 447, 944, 778, 944, 778, 944, 778, 667, 556, 333, 333, 556, 1e3, 1e3, 552,
+ 278, 278, 278, 278, 500, 500, 500, 556, 556, 350, 1e3, 1e3, 240, 479, 333, 333, 604, 333, 167, 396, 556,
+ 556, 1094, 556, 885, 489, 1115, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 1e3, 500, 1e3, 500, 500, 494,
+ 612, 823, 713, 584, 549, 713, 979, 722, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917,
+ 750, 750, 531, 656, 594, 510, 500, 750, 750, 611, 611, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222,
+ 333, 333, 333, 333, 333, 333, 333, 333,
+ ];
+ t.LiberationSansBoldMapping = [
+ -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539,
+ 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913,
+ 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935,
+ 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
+ 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026,
+ 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
+ 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
+ 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
+ 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
+ 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211,
+ 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249,
+ 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541,
+ 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747,
+ 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516,
+ 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567,
+ 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616,
+ 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702,
+ 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ ];
+ t.LiberationSansBoldItalicWidths = [
+ 365, 0, 333, 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778,
+ 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278,
+ 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611,
+ 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 333, 556, 556, 556, 556, 280, 556, 333,
+ 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834,
+ 611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778,
+ 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556,
+ 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556,
+ 611, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 740, 722, 611, 667,
+ 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 611, 778, 611, 778, 611, 778, 611, 722, 611, 722, 611,
+ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 782, 556, 556, 278, 722, 556, 556, 611, 278, 611, 278,
+ 611, 396, 611, 479, 611, 278, 722, 611, 722, 611, 722, 611, 708, 723, 611, 778, 611, 778, 611, 778, 611,
+ 1e3, 944, 722, 389, 722, 389, 722, 389, 667, 556, 667, 556, 667, 556, 667, 556, 611, 333, 611, 479, 611,
+ 333, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 944, 778, 667, 556, 667, 611, 500, 611,
+ 500, 611, 500, 278, 556, 722, 556, 1e3, 889, 778, 611, 667, 556, 611, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 722, 333, 854, 906, 473, 844, 930, 847, 278, 722, 722, 610, 671, 667, 611, 722,
+ 778, 278, 722, 667, 833, 722, 657, 778, 718, 667, 590, 611, 667, 822, 667, 829, 781, 278, 667, 620, 479,
+ 611, 278, 591, 620, 621, 556, 610, 479, 492, 611, 558, 278, 566, 556, 603, 556, 450, 611, 712, 605, 532,
+ 664, 409, 591, 704, 578, 773, 834, 278, 591, 611, 591, 834, 667, 667, 886, 614, 719, 667, 278, 278, 556,
+ 1094, 1042, 854, 622, 719, 677, 719, 722, 708, 722, 614, 722, 667, 927, 643, 719, 719, 615, 687, 833, 722,
+ 778, 719, 667, 722, 611, 677, 781, 667, 729, 708, 979, 989, 854, 1e3, 708, 719, 1042, 729, 556, 619, 604,
+ 534, 618, 556, 736, 510, 611, 611, 507, 622, 740, 604, 611, 611, 611, 556, 889, 556, 885, 556, 646, 583,
+ 889, 935, 707, 854, 594, 552, 865, 589, 556, 556, 611, 469, 563, 556, 278, 278, 278, 969, 906, 611, 507,
+ 619, 556, 611, 778, 611, 575, 467, 944, 778, 944, 778, 944, 778, 667, 556, 333, 333, 556, 1e3, 1e3, 552,
+ 278, 278, 278, 278, 500, 500, 500, 556, 556, 350, 1e3, 1e3, 240, 479, 333, 333, 604, 333, 167, 396, 556,
+ 556, 1104, 556, 885, 516, 1146, 1e3, 768, 600, 834, 834, 834, 834, 999, 500, 1e3, 500, 1e3, 500, 500, 494,
+ 612, 823, 713, 584, 549, 713, 979, 722, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917,
+ 750, 750, 531, 656, 594, 510, 500, 750, 750, 611, 611, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222,
+ 333, 333, 333, 333, 333, 333, 333, 333,
+ ];
+ t.LiberationSansBoldItalicMapping = [
+ -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539,
+ 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913,
+ 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935,
+ 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
+ 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026,
+ 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
+ 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
+ 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
+ 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
+ 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211,
+ 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249,
+ 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541,
+ 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747,
+ 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516,
+ 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567,
+ 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616,
+ 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702,
+ 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ ];
+ t.LiberationSansItalicWidths = [
+ 365, 0, 333, 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778,
+ 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278,
+ 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556,
+ 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 333, 556, 556, 556, 556, 260, 556, 333,
+ 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834,
+ 611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778,
+ 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556,
+ 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, 500,
+ 556, 500, 667, 556, 667, 556, 667, 556, 722, 500, 722, 500, 722, 500, 722, 500, 722, 625, 722, 556, 667,
+ 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 556, 778, 556, 778, 556, 778, 556, 722, 556, 722, 556,
+ 278, 278, 278, 278, 278, 278, 278, 222, 278, 278, 733, 444, 500, 222, 667, 500, 500, 556, 222, 556, 222,
+ 556, 281, 556, 400, 556, 222, 722, 556, 722, 556, 722, 556, 615, 723, 556, 778, 556, 778, 556, 778, 556,
+ 1e3, 944, 722, 333, 722, 333, 722, 333, 667, 500, 667, 500, 667, 500, 667, 500, 611, 278, 611, 354, 611,
+ 278, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 944, 722, 667, 500, 667, 611, 500, 611,
+ 500, 611, 500, 222, 556, 667, 556, 1e3, 889, 778, 611, 667, 500, 611, 278, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 667, 278, 789, 846, 389, 794, 865, 775, 222, 667, 667, 570, 671, 667, 611, 722,
+ 778, 278, 667, 667, 833, 722, 648, 778, 725, 667, 600, 611, 667, 837, 667, 831, 761, 278, 667, 570, 439,
+ 555, 222, 550, 570, 571, 500, 556, 439, 463, 555, 542, 222, 500, 492, 548, 500, 447, 556, 670, 573, 486,
+ 603, 374, 550, 652, 546, 728, 779, 222, 550, 556, 550, 779, 667, 667, 843, 544, 708, 667, 278, 278, 500,
+ 1066, 982, 844, 589, 715, 639, 724, 667, 651, 667, 544, 704, 667, 917, 614, 715, 715, 589, 686, 833, 722,
+ 778, 725, 667, 722, 611, 639, 795, 667, 727, 673, 920, 923, 805, 886, 651, 694, 1022, 682, 556, 562, 522,
+ 493, 553, 556, 688, 465, 556, 556, 472, 564, 686, 550, 556, 556, 556, 500, 833, 500, 835, 500, 572, 518,
+ 830, 851, 621, 736, 526, 492, 752, 534, 556, 556, 556, 378, 496, 500, 222, 222, 222, 910, 828, 556, 472,
+ 565, 500, 556, 778, 556, 492, 339, 944, 722, 944, 722, 944, 722, 667, 500, 333, 333, 556, 1e3, 1e3, 552,
+ 222, 222, 222, 222, 333, 333, 333, 556, 556, 350, 1e3, 1e3, 188, 354, 333, 333, 500, 333, 167, 365, 556,
+ 556, 1094, 556, 885, 323, 1083, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 998, 500, 1e3, 500, 500, 494,
+ 612, 823, 713, 584, 549, 713, 979, 719, 274, 549, 549, 584, 549, 549, 604, 584, 604, 604, 708, 625, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917,
+ 750, 750, 531, 656, 594, 510, 500, 750, 750, 500, 500, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222,
+ 294, 294, 324, 324, 316, 328, 398, 285,
+ ];
+ t.LiberationSansItalicMapping = [
+ -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539,
+ 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913,
+ 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935,
+ 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
+ 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026,
+ 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
+ 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
+ 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
+ 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
+ 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211,
+ 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249,
+ 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541,
+ 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747,
+ 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516,
+ 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567,
+ 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616,
+ 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702,
+ 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ ];
+ t.LiberationSansRegularWidths = [
+ 365, 0, 333, 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778,
+ 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278,
+ 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556,
+ 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 333, 556, 556, 556, 556, 260, 556, 333,
+ 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834,
+ 611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778,
+ 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556,
+ 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, 500,
+ 556, 500, 667, 556, 667, 556, 667, 556, 722, 500, 722, 500, 722, 500, 722, 500, 722, 615, 722, 556, 667,
+ 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 556, 778, 556, 778, 556, 778, 556, 722, 556, 722, 556,
+ 278, 278, 278, 278, 278, 278, 278, 222, 278, 278, 735, 444, 500, 222, 667, 500, 500, 556, 222, 556, 222,
+ 556, 292, 556, 334, 556, 222, 722, 556, 722, 556, 722, 556, 604, 723, 556, 778, 556, 778, 556, 778, 556,
+ 1e3, 944, 722, 333, 722, 333, 722, 333, 667, 500, 667, 500, 667, 500, 667, 500, 611, 278, 611, 375, 611,
+ 278, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 944, 722, 667, 500, 667, 611, 500, 611,
+ 500, 611, 500, 222, 556, 667, 556, 1e3, 889, 778, 611, 667, 500, 611, 278, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 667, 278, 784, 838, 384, 774, 855, 752, 222, 667, 667, 551, 668, 667, 611, 722,
+ 778, 278, 667, 668, 833, 722, 650, 778, 722, 667, 618, 611, 667, 798, 667, 835, 748, 278, 667, 578, 446,
+ 556, 222, 547, 578, 575, 500, 557, 446, 441, 556, 556, 222, 500, 500, 576, 500, 448, 556, 690, 569, 482,
+ 617, 395, 547, 648, 525, 713, 781, 222, 547, 556, 547, 781, 667, 667, 865, 542, 719, 667, 278, 278, 500,
+ 1057, 1010, 854, 583, 722, 635, 719, 667, 656, 667, 542, 677, 667, 923, 604, 719, 719, 583, 656, 833, 722,
+ 778, 719, 667, 722, 611, 635, 760, 667, 740, 667, 917, 938, 792, 885, 656, 719, 1010, 722, 556, 573, 531,
+ 365, 583, 556, 669, 458, 559, 559, 438, 583, 688, 552, 556, 542, 556, 500, 458, 500, 823, 500, 573, 521,
+ 802, 823, 625, 719, 521, 510, 750, 542, 556, 556, 556, 365, 510, 500, 222, 278, 222, 906, 812, 556, 438,
+ 559, 500, 552, 778, 556, 489, 411, 944, 722, 944, 722, 944, 722, 667, 500, 333, 333, 556, 1e3, 1e3, 552,
+ 222, 222, 222, 222, 333, 333, 333, 556, 556, 350, 1e3, 1e3, 188, 354, 333, 333, 500, 333, 167, 365, 556,
+ 556, 1094, 556, 885, 323, 1073, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 1e3, 500, 1e3, 500, 500, 494,
+ 612, 823, 713, 584, 549, 713, 979, 719, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917,
+ 750, 750, 531, 656, 594, 510, 500, 750, 750, 500, 500, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222,
+ 294, 294, 324, 324, 316, 328, 398, 285,
+ ];
+ t.LiberationSansRegularMapping = [
+ -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539,
+ 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913,
+ 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935,
+ 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
+ 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026,
+ 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
+ 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
+ 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
+ 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
+ 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211,
+ 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249,
+ 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541,
+ 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747,
+ 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516,
+ 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567,
+ 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616,
+ 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702,
+ 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ ];
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.MyriadProRegularMetrics =
+ t.MyriadProRegularFactors =
+ t.MyriadProItalicMetrics =
+ t.MyriadProItalicFactors =
+ t.MyriadProBoldMetrics =
+ t.MyriadProBoldItalicMetrics =
+ t.MyriadProBoldItalicFactors =
+ t.MyriadProBoldFactors =
+ void 0;
+ t.MyriadProBoldFactors = [
+ 1.36898, 1, 1, 0.72706, 0.80479, 0.83734, 0.98894, 0.99793, 0.9897, 0.93884, 0.86209, 0.94292, 0.94292,
+ 1.16661, 1.02058, 0.93582, 0.96694, 0.93582, 1.19137, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793,
+ 0.99793, 0.99793, 0.99793, 0.99793, 0.78076, 0.78076, 1.02058, 1.02058, 1.02058, 0.72851, 0.78966, 0.90838,
+ 0.83637, 0.82391, 0.96376, 0.80061, 0.86275, 0.8768, 0.95407, 1.0258, 0.73901, 0.85022, 0.83655, 1.0156,
+ 0.95546, 0.92179, 0.87107, 0.92179, 0.82114, 0.8096, 0.89713, 0.94438, 0.95353, 0.94083, 0.91905, 0.90406,
+ 0.9446, 0.94292, 1.18777, 0.94292, 1.02058, 0.89903, 0.90088, 0.94938, 0.97898, 0.81093, 0.97571, 0.94938,
+ 1.024, 0.9577, 0.95933, 0.98621, 1.0474, 0.97455, 0.98981, 0.9672, 0.95933, 0.9446, 0.97898, 0.97407,
+ 0.97646, 0.78036, 1.10208, 0.95442, 0.95298, 0.97579, 0.9332, 0.94039, 0.938, 0.80687, 1.01149, 0.80687,
+ 1.02058, 0.80479, 0.99793, 0.99793, 0.99793, 0.99793, 1.01149, 1.00872, 0.90088, 0.91882, 1.0213, 0.8361,
+ 1.02058, 0.62295, 0.54324, 0.89022, 1.08595, 1, 1, 0.90088, 1, 0.97455, 0.93582, 0.90088, 1, 1.05686,
+ 0.8361, 0.99642, 0.99642, 0.99642, 0.72851, 0.90838, 0.90838, 0.90838, 0.90838, 0.90838, 0.90838, 0.868,
+ 0.82391, 0.80061, 0.80061, 0.80061, 0.80061, 1.0258, 1.0258, 1.0258, 1.0258, 0.97484, 0.95546, 0.92179,
+ 0.92179, 0.92179, 0.92179, 0.92179, 1.02058, 0.92179, 0.94438, 0.94438, 0.94438, 0.94438, 0.90406, 0.86958,
+ 0.98225, 0.94938, 0.94938, 0.94938, 0.94938, 0.94938, 0.94938, 0.9031, 0.81093, 0.94938, 0.94938, 0.94938,
+ 0.94938, 0.98621, 0.98621, 0.98621, 0.98621, 0.93969, 0.95933, 0.9446, 0.9446, 0.9446, 0.9446, 0.9446,
+ 1.08595, 0.9446, 0.95442, 0.95442, 0.95442, 0.95442, 0.94039, 0.97898, 0.94039, 0.90838, 0.94938, 0.90838,
+ 0.94938, 0.90838, 0.94938, 0.82391, 0.81093, 0.82391, 0.81093, 0.82391, 0.81093, 0.82391, 0.81093, 0.96376,
+ 0.84313, 0.97484, 0.97571, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061,
+ 0.94938, 0.8768, 0.9577, 0.8768, 0.9577, 0.8768, 0.9577, 1, 1, 0.95407, 0.95933, 0.97069, 0.95933, 1.0258,
+ 0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 0.887, 1.01591, 0.73901,
+ 1.0474, 1, 1, 0.97455, 0.83655, 0.98981, 1, 1, 0.83655, 0.73977, 0.83655, 0.73903, 0.84638, 1.033, 0.95546,
+ 0.95933, 1, 1, 0.95546, 0.95933, 0.8271, 0.95417, 0.95933, 0.92179, 0.9446, 0.92179, 0.9446, 0.92179,
+ 0.9446, 0.936, 0.91964, 0.82114, 0.97646, 1, 1, 0.82114, 0.97646, 0.8096, 0.78036, 0.8096, 0.78036, 1, 1,
+ 0.8096, 0.78036, 1, 1, 0.89713, 0.77452, 0.89713, 1.10208, 0.94438, 0.95442, 0.94438, 0.95442, 0.94438,
+ 0.95442, 0.94438, 0.95442, 0.94438, 0.95442, 0.94438, 0.95442, 0.94083, 0.97579, 0.90406, 0.94039, 0.90406,
+ 0.9446, 0.938, 0.9446, 0.938, 0.9446, 0.938, 1, 0.99793, 0.90838, 0.94938, 0.868, 0.9031, 0.92179, 0.9446,
+ 1, 1, 0.89713, 1.10208, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088,
+ 0.90989, 0.9358, 0.91945, 0.83181, 0.75261, 0.87992, 0.82976, 0.96034, 0.83689, 0.97268, 1.0078, 0.90838,
+ 0.83637, 0.8019, 0.90157, 0.80061, 0.9446, 0.95407, 0.92436, 1.0258, 0.85022, 0.97153, 1.0156, 0.95546,
+ 0.89192, 0.92179, 0.92361, 0.87107, 0.96318, 0.89713, 0.93704, 0.95638, 0.91905, 0.91709, 0.92796, 1.0258,
+ 0.93704, 0.94836, 1.0373, 0.95933, 1.0078, 0.95871, 0.94836, 0.96174, 0.92601, 0.9498, 0.98607, 0.95776,
+ 0.95933, 1.05453, 1.0078, 0.98275, 0.9314, 0.95617, 0.91701, 1.05993, 0.9446, 0.78367, 0.9553, 1, 0.86832,
+ 1.0128, 0.95871, 0.99394, 0.87548, 0.96361, 0.86774, 1.0078, 0.95871, 0.9446, 0.95871, 0.86774, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.94083, 0.97579, 0.94083, 0.97579,
+ 0.94083, 0.97579, 0.90406, 0.94039, 0.96694, 1, 0.89903, 1, 1, 1, 0.93582, 0.93582, 0.93582, 1, 0.908,
+ 0.908, 0.918, 0.94219, 0.94219, 0.96544, 1, 1.285, 1, 1, 0.81079, 0.81079, 1, 1, 0.74854, 1, 1, 1, 1,
+ 0.99793, 1, 1, 1, 0.65, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.17173, 1, 0.80535, 0.76169, 1.02058,
+ 1.0732, 1.05486, 1, 1, 1.30692, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.16161, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.MyriadProBoldMetrics = {lineHeight: 1.2, lineGap: 0.2};
+ t.MyriadProBoldItalicFactors = [
+ 1.36898, 1, 1, 0.66227, 0.80779, 0.81625, 0.97276, 0.97276, 0.97733, 0.92222, 0.83266, 0.94292, 0.94292,
+ 1.16148, 1.02058, 0.93582, 0.96694, 0.93582, 1.17337, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276,
+ 0.97276, 0.97276, 0.97276, 0.97276, 0.78076, 0.78076, 1.02058, 1.02058, 1.02058, 0.71541, 0.76813, 0.85576,
+ 0.80591, 0.80729, 0.94299, 0.77512, 0.83655, 0.86523, 0.92222, 0.98621, 0.71743, 0.81698, 0.79726, 0.98558,
+ 0.92222, 0.90637, 0.83809, 0.90637, 0.80729, 0.76463, 0.86275, 0.90699, 0.91605, 0.9154, 0.85308, 0.85458,
+ 0.90531, 0.94292, 1.21296, 0.94292, 1.02058, 0.89903, 1.18616, 0.99613, 0.91677, 0.78216, 0.91677, 0.90083,
+ 0.98796, 0.9135, 0.92168, 0.95381, 0.98981, 0.95298, 0.95381, 0.93459, 0.92168, 0.91513, 0.92004, 0.91677,
+ 0.95077, 0.748, 1.04502, 0.91677, 0.92061, 0.94236, 0.89544, 0.89364, 0.9, 0.80687, 0.8578, 0.80687,
+ 1.02058, 0.80779, 0.97276, 0.97276, 0.97276, 0.97276, 0.8578, 0.99973, 1.18616, 0.91339, 1.08074, 0.82891,
+ 1.02058, 0.55509, 0.71526, 0.89022, 1.08595, 1, 1, 1.18616, 1, 0.96736, 0.93582, 1.18616, 1, 1.04864,
+ 0.82711, 0.99043, 0.99043, 0.99043, 0.71541, 0.85576, 0.85576, 0.85576, 0.85576, 0.85576, 0.85576, 0.845,
+ 0.80729, 0.77512, 0.77512, 0.77512, 0.77512, 0.98621, 0.98621, 0.98621, 0.98621, 0.95961, 0.92222, 0.90637,
+ 0.90637, 0.90637, 0.90637, 0.90637, 1.02058, 0.90251, 0.90699, 0.90699, 0.90699, 0.90699, 0.85458, 0.83659,
+ 0.94951, 0.99613, 0.99613, 0.99613, 0.99613, 0.99613, 0.99613, 0.85811, 0.78216, 0.90083, 0.90083, 0.90083,
+ 0.90083, 0.95381, 0.95381, 0.95381, 0.95381, 0.9135, 0.92168, 0.91513, 0.91513, 0.91513, 0.91513, 0.91513,
+ 1.08595, 0.91677, 0.91677, 0.91677, 0.91677, 0.91677, 0.89364, 0.92332, 0.89364, 0.85576, 0.99613, 0.85576,
+ 0.99613, 0.85576, 0.99613, 0.80729, 0.78216, 0.80729, 0.78216, 0.80729, 0.78216, 0.80729, 0.78216, 0.94299,
+ 0.76783, 0.95961, 0.91677, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512,
+ 0.90083, 0.86523, 0.9135, 0.86523, 0.9135, 0.86523, 0.9135, 1, 1, 0.92222, 0.92168, 0.92222, 0.92168,
+ 0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.86036, 0.97096,
+ 0.71743, 0.98981, 1, 1, 0.95298, 0.79726, 0.95381, 1, 1, 0.79726, 0.6894, 0.79726, 0.74321, 0.81691, 1.0006,
+ 0.92222, 0.92168, 1, 1, 0.92222, 0.92168, 0.79464, 0.92098, 0.92168, 0.90637, 0.91513, 0.90637, 0.91513,
+ 0.90637, 0.91513, 0.909, 0.87514, 0.80729, 0.95077, 1, 1, 0.80729, 0.95077, 0.76463, 0.748, 0.76463, 0.748,
+ 1, 1, 0.76463, 0.748, 1, 1, 0.86275, 0.72651, 0.86275, 1.04502, 0.90699, 0.91677, 0.90699, 0.91677, 0.90699,
+ 0.91677, 0.90699, 0.91677, 0.90699, 0.91677, 0.90699, 0.91677, 0.9154, 0.94236, 0.85458, 0.89364, 0.85458,
+ 0.90531, 0.9, 0.90531, 0.9, 0.90531, 0.9, 1, 0.97276, 0.85576, 0.99613, 0.845, 0.85811, 0.90251, 0.91677, 1,
+ 1, 0.86275, 1.04502, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616,
+ 1.00899, 1.30628, 0.85576, 0.80178, 0.66862, 0.7927, 0.69323, 0.88127, 0.72459, 0.89711, 0.95381, 0.85576,
+ 0.80591, 0.7805, 0.94729, 0.77512, 0.90531, 0.92222, 0.90637, 0.98621, 0.81698, 0.92655, 0.98558, 0.92222,
+ 0.85359, 0.90637, 0.90976, 0.83809, 0.94523, 0.86275, 0.83509, 0.93157, 0.85308, 0.83392, 0.92346, 0.98621,
+ 0.83509, 0.92886, 0.91324, 0.92168, 0.95381, 0.90646, 0.92886, 0.90557, 0.86847, 0.90276, 0.91324, 0.86842,
+ 0.92168, 0.99531, 0.95381, 0.9224, 0.85408, 0.92699, 0.86847, 1.0051, 0.91513, 0.80487, 0.93481, 1, 0.88159,
+ 1.05214, 0.90646, 0.97355, 0.81539, 0.89398, 0.85923, 0.95381, 0.90646, 0.91513, 0.90646, 0.85923, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9154, 0.94236, 0.9154, 0.94236,
+ 0.9154, 0.94236, 0.85458, 0.89364, 0.96694, 1, 0.89903, 1, 1, 1, 0.91782, 0.91782, 0.91782, 1, 0.896, 0.896,
+ 0.896, 0.9332, 0.9332, 0.95973, 1, 1.26, 1, 1, 0.80479, 0.80178, 1, 1, 0.85633, 1, 1, 1, 1, 0.97276, 1, 1,
+ 1, 0.698, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.14542, 1, 0.79199, 0.78694, 1.02058, 1.03493,
+ 1.05486, 1, 1, 1.23026, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.20006, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.MyriadProBoldItalicMetrics = {lineHeight: 1.2, lineGap: 0.2};
+ t.MyriadProItalicFactors = [
+ 1.36898, 1, 1, 0.65507, 0.84943, 0.85639, 0.88465, 0.88465, 0.86936, 0.88307, 0.86948, 0.85283, 0.85283,
+ 1.06383, 1.02058, 0.75945, 0.9219, 0.75945, 1.17337, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465,
+ 0.88465, 0.88465, 0.88465, 0.88465, 0.75945, 0.75945, 1.02058, 1.02058, 1.02058, 0.69046, 0.70926, 0.85158,
+ 0.77812, 0.76852, 0.89591, 0.70466, 0.76125, 0.80094, 0.86822, 0.83864, 0.728, 0.77212, 0.79475, 0.93637,
+ 0.87514, 0.8588, 0.76013, 0.8588, 0.72421, 0.69866, 0.77598, 0.85991, 0.80811, 0.87832, 0.78112, 0.77512,
+ 0.8562, 1.0222, 1.18417, 1.0222, 1.27014, 0.89903, 1.15012, 0.93859, 0.94399, 0.846, 0.94399, 0.81453,
+ 1.0186, 0.94219, 0.96017, 1.03075, 1.02175, 0.912, 1.03075, 0.96998, 0.96017, 0.93859, 0.94399, 0.94399,
+ 0.95493, 0.746, 1.12658, 0.94578, 0.91, 0.979, 0.882, 0.882, 0.83, 0.85034, 0.83537, 0.85034, 1.02058,
+ 0.70869, 0.88465, 0.88465, 0.88465, 0.88465, 0.83537, 0.90083, 1.15012, 0.9161, 0.94565, 0.73541, 1.02058,
+ 0.53609, 0.69353, 0.79519, 1.08595, 1, 1, 1.15012, 1, 0.91974, 0.75945, 1.15012, 1, 0.9446, 0.73361, 0.9005,
+ 0.9005, 0.9005, 0.62864, 0.85158, 0.85158, 0.85158, 0.85158, 0.85158, 0.85158, 0.773, 0.76852, 0.70466,
+ 0.70466, 0.70466, 0.70466, 0.83864, 0.83864, 0.83864, 0.83864, 0.90561, 0.87514, 0.8588, 0.8588, 0.8588,
+ 0.8588, 0.8588, 1.02058, 0.85751, 0.85991, 0.85991, 0.85991, 0.85991, 0.77512, 0.76013, 0.88075, 0.93859,
+ 0.93859, 0.93859, 0.93859, 0.93859, 0.93859, 0.8075, 0.846, 0.81453, 0.81453, 0.81453, 0.81453, 0.82424,
+ 0.82424, 0.82424, 0.82424, 0.9278, 0.96017, 0.93859, 0.93859, 0.93859, 0.93859, 0.93859, 1.08595, 0.8562,
+ 0.94578, 0.94578, 0.94578, 0.94578, 0.882, 0.94578, 0.882, 0.85158, 0.93859, 0.85158, 0.93859, 0.85158,
+ 0.93859, 0.76852, 0.846, 0.76852, 0.846, 0.76852, 0.846, 0.76852, 0.846, 0.89591, 0.8544, 0.90561, 0.94399,
+ 0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.80094, 0.94219,
+ 0.80094, 0.94219, 0.80094, 0.94219, 1, 1, 0.86822, 0.96017, 0.86822, 0.96017, 0.83864, 0.82424, 0.83864,
+ 0.82424, 0.83864, 0.82424, 0.83864, 1.03075, 0.83864, 0.82424, 0.81402, 1.02738, 0.728, 1.02175, 1, 1,
+ 0.912, 0.79475, 1.03075, 1, 1, 0.79475, 0.83911, 0.79475, 0.66266, 0.80553, 1.06676, 0.87514, 0.96017, 1, 1,
+ 0.87514, 0.96017, 0.86865, 0.87396, 0.96017, 0.8588, 0.93859, 0.8588, 0.93859, 0.8588, 0.93859, 0.867,
+ 0.84759, 0.72421, 0.95493, 1, 1, 0.72421, 0.95493, 0.69866, 0.746, 0.69866, 0.746, 1, 1, 0.69866, 0.746, 1,
+ 1, 0.77598, 0.88417, 0.77598, 1.12658, 0.85991, 0.94578, 0.85991, 0.94578, 0.85991, 0.94578, 0.85991,
+ 0.94578, 0.85991, 0.94578, 0.85991, 0.94578, 0.87832, 0.979, 0.77512, 0.882, 0.77512, 0.8562, 0.83, 0.8562,
+ 0.83, 0.8562, 0.83, 1, 0.88465, 0.85158, 0.93859, 0.773, 0.8075, 0.85751, 0.8562, 1, 1, 0.77598, 1.12658,
+ 1.15012, 1.15012, 1.15012, 1.15012, 1.15012, 1.15313, 1.15012, 1.15012, 1.15012, 1.08106, 1.03901, 0.85158,
+ 0.77025, 0.62264, 0.7646, 0.65351, 0.86026, 0.69461, 0.89947, 1.03075, 0.85158, 0.77812, 0.76449, 0.88836,
+ 0.70466, 0.8562, 0.86822, 0.8588, 0.83864, 0.77212, 0.85308, 0.93637, 0.87514, 0.82352, 0.8588, 0.85701,
+ 0.76013, 0.89058, 0.77598, 0.8156, 0.82565, 0.78112, 0.77899, 0.89386, 0.83864, 0.8156, 0.9486, 0.92388,
+ 0.96186, 1.03075, 0.91123, 0.9486, 0.93298, 0.878, 0.93942, 0.92388, 0.84596, 0.96186, 0.95119, 1.03075,
+ 0.922, 0.88787, 0.95829, 0.88, 0.93559, 0.93859, 0.78815, 0.93758, 1, 0.89217, 1.03737, 0.91123, 0.93969,
+ 0.77487, 0.85769, 0.86799, 1.03075, 0.91123, 0.93859, 0.91123, 0.86799, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.87832, 0.979, 0.87832, 0.979, 0.87832, 0.979, 0.77512,
+ 0.882, 0.9219, 1, 0.89903, 1, 1, 1, 0.87321, 0.87321, 0.87321, 1, 1.027, 1.027, 1.027, 0.86847, 0.86847,
+ 0.79121, 1, 1.124, 1, 1, 0.73572, 0.73572, 1, 1, 0.85034, 1, 1, 1, 1, 0.88465, 1, 1, 1, 0.669, 1, 1.36145,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.04828, 1, 0.74948, 0.75187, 1.02058, 0.98391, 1.02119, 1, 1, 1.06233,
+ 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1.05233, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1,
+ ];
+ t.MyriadProItalicMetrics = {lineHeight: 1.2, lineGap: 0.2};
+ t.MyriadProRegularFactors = [
+ 1.36898, 1, 1, 0.76305, 0.82784, 0.94935, 0.89364, 0.92241, 0.89073, 0.90706, 0.98472, 0.85283, 0.85283,
+ 1.0664, 1.02058, 0.74505, 0.9219, 0.74505, 1.23456, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241,
+ 0.92241, 0.92241, 0.92241, 0.92241, 0.74505, 0.74505, 1.02058, 1.02058, 1.02058, 0.73002, 0.72601, 0.91755,
+ 0.8126, 0.80314, 0.92222, 0.73764, 0.79726, 0.83051, 0.90284, 0.86023, 0.74, 0.8126, 0.84869, 0.96518,
+ 0.91115, 0.8858, 0.79761, 0.8858, 0.74498, 0.73914, 0.81363, 0.89591, 0.83659, 0.89633, 0.85608, 0.8111,
+ 0.90531, 1.0222, 1.22736, 1.0222, 1.27014, 0.89903, 0.90088, 0.86667, 1.0231, 0.896, 1.01411, 0.90083,
+ 1.05099, 1.00512, 0.99793, 1.05326, 1.09377, 0.938, 1.06226, 1.00119, 0.99793, 0.98714, 1.0231, 1.01231,
+ 0.98196, 0.792, 1.19137, 0.99074, 0.962, 1.01915, 0.926, 0.942, 0.856, 0.85034, 0.92006, 0.85034, 1.02058,
+ 0.69067, 0.92241, 0.92241, 0.92241, 0.92241, 0.92006, 0.9332, 0.90088, 0.91882, 0.93484, 0.75339, 1.02058,
+ 0.56866, 0.54324, 0.79519, 1.08595, 1, 1, 0.90088, 1, 0.95325, 0.74505, 0.90088, 1, 0.97198, 0.75339,
+ 0.91009, 0.91009, 0.91009, 0.66466, 0.91755, 0.91755, 0.91755, 0.91755, 0.91755, 0.91755, 0.788, 0.80314,
+ 0.73764, 0.73764, 0.73764, 0.73764, 0.86023, 0.86023, 0.86023, 0.86023, 0.92915, 0.91115, 0.8858, 0.8858,
+ 0.8858, 0.8858, 0.8858, 1.02058, 0.8858, 0.89591, 0.89591, 0.89591, 0.89591, 0.8111, 0.79611, 0.89713,
+ 0.86667, 0.86667, 0.86667, 0.86667, 0.86667, 0.86667, 0.86936, 0.896, 0.90083, 0.90083, 0.90083, 0.90083,
+ 0.84224, 0.84224, 0.84224, 0.84224, 0.97276, 0.99793, 0.98714, 0.98714, 0.98714, 0.98714, 0.98714, 1.08595,
+ 0.89876, 0.99074, 0.99074, 0.99074, 0.99074, 0.942, 1.0231, 0.942, 0.91755, 0.86667, 0.91755, 0.86667,
+ 0.91755, 0.86667, 0.80314, 0.896, 0.80314, 0.896, 0.80314, 0.896, 0.80314, 0.896, 0.92222, 0.93372, 0.92915,
+ 1.01411, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.83051,
+ 1.00512, 0.83051, 1.00512, 0.83051, 1.00512, 1, 1, 0.90284, 0.99793, 0.90976, 0.99793, 0.86023, 0.84224,
+ 0.86023, 0.84224, 0.86023, 0.84224, 0.86023, 1.05326, 0.86023, 0.84224, 0.82873, 1.07469, 0.74, 1.09377, 1,
+ 1, 0.938, 0.84869, 1.06226, 1, 1, 0.84869, 0.83704, 0.84869, 0.81441, 0.85588, 1.08927, 0.91115, 0.99793, 1,
+ 1, 0.91115, 0.99793, 0.91887, 0.90991, 0.99793, 0.8858, 0.98714, 0.8858, 0.98714, 0.8858, 0.98714, 0.894,
+ 0.91434, 0.74498, 0.98196, 1, 1, 0.74498, 0.98196, 0.73914, 0.792, 0.73914, 0.792, 1, 1, 0.73914, 0.792, 1,
+ 1, 0.81363, 0.904, 0.81363, 1.19137, 0.89591, 0.99074, 0.89591, 0.99074, 0.89591, 0.99074, 0.89591, 0.99074,
+ 0.89591, 0.99074, 0.89591, 0.99074, 0.89633, 1.01915, 0.8111, 0.942, 0.8111, 0.90531, 0.856, 0.90531, 0.856,
+ 0.90531, 0.856, 1, 0.92241, 0.91755, 0.86667, 0.788, 0.86936, 0.8858, 0.89876, 1, 1, 0.81363, 1.19137,
+ 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90388, 1.03901, 0.92138,
+ 0.78105, 0.7154, 0.86169, 0.80513, 0.94007, 0.82528, 0.98612, 1.06226, 0.91755, 0.8126, 0.81884, 0.92819,
+ 0.73764, 0.90531, 0.90284, 0.8858, 0.86023, 0.8126, 0.91172, 0.96518, 0.91115, 0.83089, 0.8858, 0.87791,
+ 0.79761, 0.89297, 0.81363, 0.88157, 0.89992, 0.85608, 0.81992, 0.94307, 0.86023, 0.88157, 0.95308, 0.98699,
+ 0.99793, 1.06226, 0.95817, 0.95308, 0.97358, 0.928, 0.98088, 0.98699, 0.92761, 0.99793, 0.96017, 1.06226,
+ 0.986, 0.944, 0.95978, 0.938, 0.96705, 0.98714, 0.80442, 0.98972, 1, 0.89762, 1.04552, 0.95817, 0.99007,
+ 0.87064, 0.91879, 0.88888, 1.06226, 0.95817, 0.98714, 0.95817, 0.88888, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89633, 1.01915, 0.89633, 1.01915, 0.89633, 1.01915,
+ 0.8111, 0.942, 0.9219, 1, 0.89903, 1, 1, 1, 0.93173, 0.93173, 0.93173, 1, 1.06304, 1.06304, 1.06904,
+ 0.89903, 0.89903, 0.80549, 1, 1.156, 1, 1, 0.76575, 0.76575, 1, 1, 0.72458, 1, 1, 1, 1, 0.92241, 1, 1, 1,
+ 0.619, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.07257, 1, 0.74705, 0.71119, 1.02058, 1.024, 1.02119,
+ 1, 1, 1.1536, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1.05638, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.MyriadProRegularMetrics = {lineHeight: 1.2, lineGap: 0.2};
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.SegoeuiRegularMetrics =
+ t.SegoeuiRegularFactors =
+ t.SegoeuiItalicMetrics =
+ t.SegoeuiItalicFactors =
+ t.SegoeuiBoldMetrics =
+ t.SegoeuiBoldItalicMetrics =
+ t.SegoeuiBoldItalicFactors =
+ t.SegoeuiBoldFactors =
+ void 0;
+ t.SegoeuiBoldFactors = [
+ 1.76738, 1, 1, 0.99297, 0.9824, 1.04016, 1.06497, 1.03424, 0.97529, 1.17647, 1.23203, 1.1085, 1.1085,
+ 1.16939, 1.2107, 0.9754, 1.21408, 0.9754, 1.59578, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424,
+ 1.03424, 1.03424, 1.03424, 1.03424, 0.81378, 0.81378, 1.2107, 1.2107, 1.2107, 0.71703, 0.97847, 0.97363,
+ 0.88776, 0.8641, 1.02096, 0.79795, 0.85132, 0.914, 1.06085, 1.1406, 0.8007, 0.89858, 0.83693, 1.14889,
+ 1.09398, 0.97489, 0.92094, 0.97489, 0.90399, 0.84041, 0.95923, 1.00135, 1, 1.06467, 0.98243, 0.90996,
+ 0.99361, 1.1085, 1.56942, 1.1085, 1.2107, 0.74627, 0.94282, 0.96752, 1.01519, 0.86304, 1.01359, 0.97278,
+ 1.15103, 1.01359, 0.98561, 1.02285, 1.02285, 1.00527, 1.02285, 1.0302, 0.99041, 1.0008, 1.01519, 1.01359,
+ 1.02258, 0.79104, 1.16862, 0.99041, 0.97454, 1.02511, 0.99298, 0.96752, 0.95801, 0.94856, 1.16579, 0.94856,
+ 1.2107, 0.9824, 1.03424, 1.03424, 1, 1.03424, 1.16579, 0.8727, 1.3871, 1.18622, 1.10818, 1.04478, 1.2107,
+ 1.18622, 0.75155, 0.94994, 1.28826, 1.21408, 1.21408, 0.91056, 1, 0.91572, 0.9754, 0.64663, 1.18328,
+ 1.24866, 1.04478, 1.14169, 1.15749, 1.17389, 0.71703, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363,
+ 0.93506, 0.8641, 0.79795, 0.79795, 0.79795, 0.79795, 1.1406, 1.1406, 1.1406, 1.1406, 1.02096, 1.09398,
+ 0.97426, 0.97426, 0.97426, 0.97426, 0.97426, 1.2107, 0.97489, 1.00135, 1.00135, 1.00135, 1.00135, 0.90996,
+ 0.92094, 1.02798, 0.96752, 0.96752, 0.96752, 0.96752, 0.96752, 0.96752, 0.93136, 0.86304, 0.97278, 0.97278,
+ 0.97278, 0.97278, 1.02285, 1.02285, 1.02285, 1.02285, 0.97122, 0.99041, 1, 1, 1, 1, 1, 1.28826, 1.0008,
+ 0.99041, 0.99041, 0.99041, 0.99041, 0.96752, 1.01519, 0.96752, 0.97363, 0.96752, 0.97363, 0.96752, 0.97363,
+ 0.96752, 0.8641, 0.86304, 0.8641, 0.86304, 0.8641, 0.86304, 0.8641, 0.86304, 1.02096, 1.03057, 1.02096,
+ 1.03517, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.914,
+ 1.01359, 0.914, 1.01359, 0.914, 1.01359, 1, 1, 1.06085, 0.98561, 1.06085, 1.00879, 1.1406, 1.02285, 1.1406,
+ 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 0.97138, 1.08692, 0.8007, 1.02285, 1, 1,
+ 1.00527, 0.83693, 1.02285, 1, 1, 0.83693, 0.9455, 0.83693, 0.90418, 0.83693, 1.13005, 1.09398, 0.99041, 1,
+ 1, 1.09398, 0.99041, 0.96692, 1.09251, 0.99041, 0.97489, 1.0008, 0.97489, 1.0008, 0.97489, 1.0008, 0.93994,
+ 0.97931, 0.90399, 1.02258, 1, 1, 0.90399, 1.02258, 0.84041, 0.79104, 0.84041, 0.79104, 0.84041, 0.79104,
+ 0.84041, 0.79104, 1, 1, 0.95923, 1.07034, 0.95923, 1.16862, 1.00135, 0.99041, 1.00135, 0.99041, 1.00135,
+ 0.99041, 1.00135, 0.99041, 1.00135, 0.99041, 1.00135, 0.99041, 1.06467, 1.02511, 0.90996, 0.96752, 0.90996,
+ 0.99361, 0.95801, 0.99361, 0.95801, 0.99361, 0.95801, 1.07733, 1.03424, 0.97363, 0.96752, 0.93506, 0.93136,
+ 0.97489, 1.0008, 1, 1, 0.95923, 1.16862, 1.15103, 1.15103, 1.01173, 1.03959, 0.75953, 0.81378, 0.79912,
+ 1.15103, 1.21994, 0.95161, 0.87815, 1.01149, 0.81525, 0.7676, 0.98167, 1.01134, 1.02546, 0.84097, 1.03089,
+ 1.18102, 0.97363, 0.88776, 0.85134, 0.97826, 0.79795, 0.99361, 1.06085, 0.97489, 1.1406, 0.89858, 1.0388,
+ 1.14889, 1.09398, 0.86039, 0.97489, 1.0595, 0.92094, 0.94793, 0.95923, 0.90996, 0.99346, 0.98243, 1.02112,
+ 0.95493, 1.1406, 0.90996, 1.03574, 1.02597, 1.0008, 1.18102, 1.06628, 1.03574, 1.0192, 1.01932, 1.00886,
+ 0.97531, 1.0106, 1.0008, 1.13189, 1.18102, 1.02277, 0.98683, 1.0016, 0.99561, 1.07237, 1.0008, 0.90434,
+ 0.99921, 0.93803, 0.8965, 1.23085, 1.06628, 1.04983, 0.96268, 1.0499, 0.98439, 1.18102, 1.06628, 1.0008,
+ 1.06628, 0.98439, 0.79795, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.09466, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.97278, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.02065,
+ 1, 1, 1, 1, 1, 1, 1.06467, 1.02511, 1.06467, 1.02511, 1.06467, 1.02511, 0.90996, 0.96752, 1, 1.21408,
+ 0.89903, 1, 1, 0.75155, 1.04394, 1.04394, 1.04394, 1.04394, 0.98633, 0.98633, 0.98633, 0.73047, 0.73047,
+ 1.20642, 0.91211, 1.25635, 1.222, 1.02956, 1.03372, 1.03372, 0.96039, 1.24633, 1, 1.12454, 0.93503, 1.03424,
+ 1.19687, 1.03424, 1, 1, 1, 0.771, 1, 1, 1.15749, 1.15749, 1.15749, 1.10948, 0.86279, 0.94434, 0.86279,
+ 0.94434, 0.86182, 1, 1, 1.16897, 1, 0.96085, 0.90137, 1.2107, 1.18416, 1.13973, 0.69825, 0.9716, 2.10339,
+ 1.29004, 1.29004, 1.21172, 1.29004, 1.29004, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1,
+ 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18874, 1.42603, 1, 1.42603, 1.42603, 0.99862, 1,
+ 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.09193, 1.09193, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.SegoeuiBoldMetrics = {lineHeight: 1.33008, lineGap: 0};
+ t.SegoeuiBoldItalicFactors = [
+ 1.76738, 1, 1, 0.98946, 1.03959, 1.04016, 1.02809, 1.036, 0.97639, 1.10953, 1.23203, 1.11144, 1.11144,
+ 1.16939, 1.21237, 0.9754, 1.21261, 0.9754, 1.59754, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036,
+ 1.036, 1.036, 0.81378, 0.81378, 1.21237, 1.21237, 1.21237, 0.73541, 0.97847, 0.97363, 0.89723, 0.87897,
+ 1.0426, 0.79429, 0.85292, 0.91149, 1.05815, 1.1406, 0.79631, 0.90128, 0.83853, 1.04396, 1.10615, 0.97552,
+ 0.94436, 0.97552, 0.88641, 0.80527, 0.96083, 1.00135, 1, 1.06777, 0.9817, 0.91142, 0.99361, 1.11144,
+ 1.57293, 1.11144, 1.21237, 0.74627, 1.31818, 1.06585, 0.97042, 0.83055, 0.97042, 0.93503, 1.1261, 0.97042,
+ 0.97922, 1.14236, 0.94552, 1.01054, 1.14236, 1.02471, 0.97922, 0.94165, 0.97042, 0.97042, 1.0276, 0.78929,
+ 1.1261, 0.97922, 0.95874, 1.02197, 0.98507, 0.96752, 0.97168, 0.95107, 1.16579, 0.95107, 1.21237, 1.03959,
+ 1.036, 1.036, 1, 1.036, 1.16579, 0.87357, 1.31818, 1.18754, 1.26781, 1.05356, 1.21237, 1.18622, 0.79487,
+ 0.94994, 1.29004, 1.24047, 1.24047, 1.31818, 1, 0.91484, 0.9754, 1.31818, 1.1349, 1.24866, 1.05356, 1.13934,
+ 1.15574, 1.17389, 0.73541, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.94385, 0.87897, 0.79429,
+ 0.79429, 0.79429, 0.79429, 1.1406, 1.1406, 1.1406, 1.1406, 1.0426, 1.10615, 0.97552, 0.97552, 0.97552,
+ 0.97552, 0.97552, 1.21237, 0.97552, 1.00135, 1.00135, 1.00135, 1.00135, 0.91142, 0.94436, 0.98721, 1.06585,
+ 1.06585, 1.06585, 1.06585, 1.06585, 1.06585, 0.96705, 0.83055, 0.93503, 0.93503, 0.93503, 0.93503, 1.14236,
+ 1.14236, 1.14236, 1.14236, 0.93125, 0.97922, 0.94165, 0.94165, 0.94165, 0.94165, 0.94165, 1.29004, 0.94165,
+ 0.97922, 0.97922, 0.97922, 0.97922, 0.96752, 0.97042, 0.96752, 0.97363, 1.06585, 0.97363, 1.06585, 0.97363,
+ 1.06585, 0.87897, 0.83055, 0.87897, 0.83055, 0.87897, 0.83055, 0.87897, 0.83055, 1.0426, 1.0033, 1.0426,
+ 0.97042, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.91149,
+ 0.97042, 0.91149, 0.97042, 0.91149, 0.97042, 1, 1, 1.05815, 0.97922, 1.05815, 0.97922, 1.1406, 1.14236,
+ 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 0.97441, 1.04302, 0.79631, 1.01582, 1,
+ 1, 1.01054, 0.83853, 1.14236, 1, 1, 0.83853, 1.09125, 0.83853, 0.90418, 0.83853, 1.19508, 1.10615, 0.97922,
+ 1, 1, 1.10615, 0.97922, 1.01034, 1.10466, 0.97922, 0.97552, 0.94165, 0.97552, 0.94165, 0.97552, 0.94165,
+ 0.91602, 0.91981, 0.88641, 1.0276, 1, 1, 0.88641, 1.0276, 0.80527, 0.78929, 0.80527, 0.78929, 0.80527,
+ 0.78929, 0.80527, 0.78929, 1, 1, 0.96083, 1.05403, 0.95923, 1.16862, 1.00135, 0.97922, 1.00135, 0.97922,
+ 1.00135, 0.97922, 1.00135, 0.97922, 1.00135, 0.97922, 1.00135, 0.97922, 1.06777, 1.02197, 0.91142, 0.96752,
+ 0.91142, 0.99361, 0.97168, 0.99361, 0.97168, 0.99361, 0.97168, 1.23199, 1.036, 0.97363, 1.06585, 0.94385,
+ 0.96705, 0.97552, 0.94165, 1, 1, 0.96083, 1.1261, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818,
+ 1.31818, 1.31818, 1.31818, 0.95161, 1.27126, 1.00811, 0.83284, 0.77702, 0.99137, 0.95253, 1.0347, 0.86142,
+ 1.07205, 1.14236, 0.97363, 0.89723, 0.86869, 1.09818, 0.79429, 0.99361, 1.05815, 0.97552, 1.1406, 0.90128,
+ 1.06662, 1.04396, 1.10615, 0.84918, 0.97552, 1.04694, 0.94436, 0.98015, 0.96083, 0.91142, 1.00356, 0.9817,
+ 1.01945, 0.98999, 1.1406, 0.91142, 1.04961, 0.9898, 1.00639, 1.14236, 1.07514, 1.04961, 0.99607, 1.02897,
+ 1.008, 0.9898, 0.95134, 1.00639, 1.11121, 1.14236, 1.00518, 0.97981, 1.02186, 1, 1.08578, 0.94165, 0.99314,
+ 0.98387, 0.93028, 0.93377, 1.35125, 1.07514, 1.10687, 0.93491, 1.04232, 1.00351, 1.14236, 1.07514, 0.94165,
+ 1.07514, 1.00351, 0.79429, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.09097, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.93503, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.96609,
+ 1, 1, 1, 1, 1, 1, 1.06777, 1.02197, 1.06777, 1.02197, 1.06777, 1.02197, 0.91142, 0.96752, 1, 1.21261,
+ 0.89903, 1, 1, 0.75155, 1.04745, 1.04745, 1.04745, 1.04394, 0.98633, 0.98633, 0.98633, 0.72959, 0.72959,
+ 1.20502, 0.91406, 1.26514, 1.222, 1.02956, 1.03372, 1.03372, 0.96039, 1.24633, 1, 1.09125, 0.93327, 1.03336,
+ 1.16541, 1.036, 1, 1, 1, 0.771, 1, 1, 1.15574, 1.15574, 1.15574, 1.15574, 0.86364, 0.94434, 0.86279,
+ 0.94434, 0.86224, 1, 1, 1.16798, 1, 0.96085, 0.90068, 1.21237, 1.18416, 1.13904, 0.69825, 0.9716, 2.10339,
+ 1.29004, 1.29004, 1.21339, 1.29004, 1.29004, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1,
+ 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18775, 1.42603, 1, 1.42603, 1.42603, 0.99862, 1,
+ 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.13269, 1.13269, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.SegoeuiBoldItalicMetrics = {lineHeight: 1.33008, lineGap: 0};
+ t.SegoeuiItalicFactors = [
+ 1.76738, 1, 1, 0.98946, 1.14763, 1.05365, 1.06234, 0.96927, 0.92586, 1.15373, 1.18414, 0.91349, 0.91349,
+ 1.07403, 1.17308, 0.78383, 1.20088, 0.78383, 1.42531, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927,
+ 0.96927, 0.96927, 0.96927, 0.96927, 0.78383, 0.78383, 1.17308, 1.17308, 1.17308, 0.77349, 0.94565, 0.94729,
+ 0.85944, 0.88506, 0.9858, 0.74817, 0.80016, 0.88449, 0.98039, 0.95782, 0.69238, 0.89898, 0.83231, 0.98183,
+ 1.03989, 0.96924, 0.86237, 0.96924, 0.80595, 0.74524, 0.86091, 0.95402, 0.94143, 0.98448, 0.8858, 0.83089,
+ 0.93285, 1.0949, 1.39016, 1.0949, 1.45994, 0.74627, 1.04839, 0.97454, 0.97454, 0.87207, 0.97454, 0.87533,
+ 1.06151, 0.97454, 1.00176, 1.16484, 1.08132, 0.98047, 1.16484, 1.02989, 1.01054, 0.96225, 0.97454, 0.97454,
+ 1.06598, 0.79004, 1.16344, 1.00351, 0.94629, 0.9973, 0.91016, 0.96777, 0.9043, 0.91082, 0.92481, 0.91082,
+ 1.17308, 0.95748, 0.96927, 0.96927, 1, 0.96927, 0.92481, 0.80597, 1.04839, 1.23393, 1.1781, 0.9245, 1.17308,
+ 1.20808, 0.63218, 0.94261, 1.24822, 1.09971, 1.09971, 1.04839, 1, 0.85273, 0.78032, 1.04839, 1.09971,
+ 1.22326, 0.9245, 1.09836, 1.13525, 1.15222, 0.70424, 0.94729, 0.94729, 0.94729, 0.94729, 0.94729, 0.94729,
+ 0.85498, 0.88506, 0.74817, 0.74817, 0.74817, 0.74817, 0.95782, 0.95782, 0.95782, 0.95782, 0.9858, 1.03989,
+ 0.96924, 0.96924, 0.96924, 0.96924, 0.96924, 1.17308, 0.96924, 0.95402, 0.95402, 0.95402, 0.95402, 0.83089,
+ 0.86237, 0.88409, 0.97454, 0.97454, 0.97454, 0.97454, 0.97454, 0.97454, 0.92916, 0.87207, 0.87533, 0.87533,
+ 0.87533, 0.87533, 0.93146, 0.93146, 0.93146, 0.93146, 0.93854, 1.01054, 0.96225, 0.96225, 0.96225, 0.96225,
+ 0.96225, 1.24822, 0.8761, 1.00351, 1.00351, 1.00351, 1.00351, 0.96777, 0.97454, 0.96777, 0.94729, 0.97454,
+ 0.94729, 0.97454, 0.94729, 0.97454, 0.88506, 0.87207, 0.88506, 0.87207, 0.88506, 0.87207, 0.88506, 0.87207,
+ 0.9858, 0.95391, 0.9858, 0.97454, 0.74817, 0.87533, 0.74817, 0.87533, 0.74817, 0.87533, 0.74817, 0.87533,
+ 0.74817, 0.87533, 0.88449, 0.97454, 0.88449, 0.97454, 0.88449, 0.97454, 1, 1, 0.98039, 1.00176, 0.98039,
+ 1.00176, 0.95782, 0.93146, 0.95782, 0.93146, 0.95782, 0.93146, 0.95782, 1.16484, 0.95782, 0.93146, 0.84421,
+ 1.12761, 0.69238, 1.08132, 1, 1, 0.98047, 0.83231, 1.16484, 1, 1, 0.84723, 1.04861, 0.84723, 0.78755,
+ 0.83231, 1.23736, 1.03989, 1.01054, 1, 1, 1.03989, 1.01054, 0.9857, 1.03849, 1.01054, 0.96924, 0.96225,
+ 0.96924, 0.96225, 0.96924, 0.96225, 0.92383, 0.90171, 0.80595, 1.06598, 1, 1, 0.80595, 1.06598, 0.74524,
+ 0.79004, 0.74524, 0.79004, 0.74524, 0.79004, 0.74524, 0.79004, 1, 1, 0.86091, 1.02759, 0.85771, 1.16344,
+ 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351,
+ 0.98448, 0.9973, 0.83089, 0.96777, 0.83089, 0.93285, 0.9043, 0.93285, 0.9043, 0.93285, 0.9043, 1.31868,
+ 0.96927, 0.94729, 0.97454, 0.85498, 0.92916, 0.96924, 0.8761, 1, 1, 0.86091, 1.16344, 1.04839, 1.04839,
+ 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 0.81965, 0.81965, 0.94729, 0.78032, 0.71022,
+ 0.90883, 0.84171, 0.99877, 0.77596, 1.05734, 1.2, 0.94729, 0.85944, 0.82791, 0.9607, 0.74817, 0.93285,
+ 0.98039, 0.96924, 0.95782, 0.89898, 0.98316, 0.98183, 1.03989, 0.78614, 0.96924, 0.97642, 0.86237, 0.86075,
+ 0.86091, 0.83089, 0.90082, 0.8858, 0.97296, 1.01284, 0.95782, 0.83089, 1.0976, 1.04, 1.03342, 1.2, 1.0675,
+ 1.0976, 0.98205, 1.03809, 1.05097, 1.04, 0.95364, 1.03342, 1.05401, 1.2, 1.02148, 1.0119, 1.04724, 1.0127,
+ 1.02732, 0.96225, 0.8965, 0.97783, 0.93574, 0.94818, 1.30679, 1.0675, 1.11826, 0.99821, 1.0557, 1.0326, 1.2,
+ 1.0675, 0.96225, 1.0675, 1.0326, 0.74817, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03754, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.87533, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0.98705, 1, 1, 1, 1, 1, 1, 0.98448, 0.9973, 0.98448, 0.9973, 0.98448, 0.9973, 0.83089, 0.96777, 1,
+ 1.20088, 0.89903, 1, 1, 0.75155, 0.94945, 0.94945, 0.94945, 0.94945, 1.12317, 1.12317, 1.12317, 0.67603,
+ 0.67603, 1.15621, 0.73584, 1.21191, 1.22135, 1.06483, 0.94868, 0.94868, 0.95996, 1.24633, 1, 1.07497,
+ 0.87709, 0.96927, 1.01473, 0.96927, 1, 1, 1, 0.77295, 1, 1, 1.09836, 1.09836, 1.09836, 1.01522, 0.86321,
+ 0.94434, 0.8649, 0.94434, 0.86182, 1, 1, 1.083, 1, 0.91578, 0.86438, 1.17308, 1.18416, 1.14589, 0.69825,
+ 0.97622, 1.96791, 1.24822, 1.24822, 1.17308, 1.24822, 1.24822, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1.42603, 1, 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.17984, 1.42603, 1, 1.42603,
+ 1.42603, 0.99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.10742, 1.10742, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.SegoeuiItalicMetrics = {lineHeight: 1.33008, lineGap: 0};
+ t.SegoeuiRegularFactors = [
+ 1.76738, 1, 1, 0.98594, 1.02285, 1.10454, 1.06234, 0.96927, 0.92037, 1.19985, 1.2046, 0.90616, 0.90616,
+ 1.07152, 1.1714, 0.78032, 1.20088, 0.78032, 1.40246, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927,
+ 0.96927, 0.96927, 0.96927, 0.96927, 0.78032, 0.78032, 1.1714, 1.1714, 1.1714, 0.80597, 0.94084, 0.96706,
+ 0.85944, 0.85734, 0.97093, 0.75842, 0.79936, 0.88198, 0.9831, 0.95782, 0.71387, 0.86969, 0.84636, 1.07796,
+ 1.03584, 0.96924, 0.83968, 0.96924, 0.82826, 0.79649, 0.85771, 0.95132, 0.93119, 0.98965, 0.88433, 0.8287,
+ 0.93365, 1.08612, 1.3638, 1.08612, 1.45786, 0.74627, 0.80499, 0.91484, 1.05707, 0.92383, 1.05882, 0.9403,
+ 1.12654, 1.05882, 1.01756, 1.09011, 1.09011, 0.99414, 1.09011, 1.034, 1.01756, 1.05356, 1.05707, 1.05882,
+ 1.04399, 0.84863, 1.21968, 1.01756, 0.95801, 1.00068, 0.91797, 0.96777, 0.9043, 0.90351, 0.92105, 0.90351,
+ 1.1714, 0.85337, 0.96927, 0.96927, 0.99912, 0.96927, 0.92105, 0.80597, 1.2434, 1.20808, 1.05937, 0.90957,
+ 1.1714, 1.20808, 0.75155, 0.94261, 1.24644, 1.09971, 1.09971, 0.84751, 1, 0.85273, 0.78032, 0.61584,
+ 1.05425, 1.17914, 0.90957, 1.08665, 1.11593, 1.14169, 0.73381, 0.96706, 0.96706, 0.96706, 0.96706, 0.96706,
+ 0.96706, 0.86035, 0.85734, 0.75842, 0.75842, 0.75842, 0.75842, 0.95782, 0.95782, 0.95782, 0.95782, 0.97093,
+ 1.03584, 0.96924, 0.96924, 0.96924, 0.96924, 0.96924, 1.1714, 0.96924, 0.95132, 0.95132, 0.95132, 0.95132,
+ 0.8287, 0.83968, 0.89049, 0.91484, 0.91484, 0.91484, 0.91484, 0.91484, 0.91484, 0.93575, 0.92383, 0.9403,
+ 0.9403, 0.9403, 0.9403, 0.8717, 0.8717, 0.8717, 0.8717, 1.00527, 1.01756, 1.05356, 1.05356, 1.05356,
+ 1.05356, 1.05356, 1.24644, 0.95923, 1.01756, 1.01756, 1.01756, 1.01756, 0.96777, 1.05707, 0.96777, 0.96706,
+ 0.91484, 0.96706, 0.91484, 0.96706, 0.91484, 0.85734, 0.92383, 0.85734, 0.92383, 0.85734, 0.92383, 0.85734,
+ 0.92383, 0.97093, 1.0969, 0.97093, 1.05882, 0.75842, 0.9403, 0.75842, 0.9403, 0.75842, 0.9403, 0.75842,
+ 0.9403, 0.75842, 0.9403, 0.88198, 1.05882, 0.88198, 1.05882, 0.88198, 1.05882, 1, 1, 0.9831, 1.01756,
+ 0.9831, 1.01756, 0.95782, 0.8717, 0.95782, 0.8717, 0.95782, 0.8717, 0.95782, 1.09011, 0.95782, 0.8717,
+ 0.84784, 1.11551, 0.71387, 1.09011, 1, 1, 0.99414, 0.84636, 1.09011, 1, 1, 0.84636, 1.0536, 0.84636,
+ 0.94298, 0.84636, 1.23297, 1.03584, 1.01756, 1, 1, 1.03584, 1.01756, 1.00323, 1.03444, 1.01756, 0.96924,
+ 1.05356, 0.96924, 1.05356, 0.96924, 1.05356, 0.93066, 0.98293, 0.82826, 1.04399, 1, 1, 0.82826, 1.04399,
+ 0.79649, 0.84863, 0.79649, 0.84863, 0.79649, 0.84863, 0.79649, 0.84863, 1, 1, 0.85771, 1.17318, 0.85771,
+ 1.21968, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132,
+ 1.01756, 0.98965, 1.00068, 0.8287, 0.96777, 0.8287, 0.93365, 0.9043, 0.93365, 0.9043, 0.93365, 0.9043,
+ 1.08571, 0.96927, 0.96706, 0.91484, 0.86035, 0.93575, 0.96924, 0.95923, 1, 1, 0.85771, 1.21968, 1.11437,
+ 1.11437, 0.93109, 0.91202, 0.60411, 0.84164, 0.55572, 1.01173, 0.97361, 0.81818, 0.81818, 0.96635, 0.78032,
+ 0.72727, 0.92366, 0.98601, 1.03405, 0.77968, 1.09799, 1.2, 0.96706, 0.85944, 0.85638, 0.96491, 0.75842,
+ 0.93365, 0.9831, 0.96924, 0.95782, 0.86969, 0.94152, 1.07796, 1.03584, 0.78437, 0.96924, 0.98715, 0.83968,
+ 0.83491, 0.85771, 0.8287, 0.94492, 0.88433, 0.9287, 1.0098, 0.95782, 0.8287, 1.0625, 0.98248, 1.03424, 1.2,
+ 1.01071, 1.0625, 0.95246, 1.03809, 1.04912, 0.98248, 1.00221, 1.03424, 1.05443, 1.2, 1.04785, 0.99609,
+ 1.00169, 1.05176, 0.99346, 1.05356, 0.9087, 1.03004, 0.95542, 0.93117, 1.23362, 1.01071, 1.07831, 1.02512,
+ 1.05205, 1.03502, 1.2, 1.01071, 1.05356, 1.01071, 1.03502, 0.75842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1.03719, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9403,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.04021, 1, 1, 1, 1, 1, 1, 0.98965, 1.00068, 0.98965, 1.00068, 0.98965,
+ 1.00068, 0.8287, 0.96777, 1, 1.20088, 0.89903, 1, 1, 0.75155, 1.03077, 1.03077, 1.03077, 1.03077, 1.13196,
+ 1.13196, 1.13196, 0.67428, 0.67428, 1.16039, 0.73291, 1.20996, 1.22135, 1.06483, 0.94868, 0.94868, 0.95996,
+ 1.24633, 1, 1.07497, 0.87796, 0.96927, 1.01518, 0.96927, 1, 1, 1, 0.77295, 1, 1, 1.10539, 1.10539, 1.11358,
+ 1.06967, 0.86279, 0.94434, 0.86279, 0.94434, 0.86182, 1, 1, 1.083, 1, 0.91578, 0.86507, 1.1714, 1.18416,
+ 1.14589, 0.69825, 0.97622, 1.9697, 1.24822, 1.24822, 1.17238, 1.24822, 1.24822, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18083, 1.42603,
+ 1, 1.42603, 1.42603, 0.99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.10938, 1.10938,
+ 1, 1, 1, 1.05425, 1.09971, 1.09971, 1.09971, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ ];
+ t.SegoeuiRegularMetrics = {lineHeight: 1.33008, lineGap: 0};
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.PostScriptEvaluator = t.PostScriptCompiler = t.PDFFunctionFactory = void 0;
+ t.isPDFFunction = function isPDFFunction(e) {
+ let t;
+ if ('object' != typeof e) return !1;
+ if (e instanceof r.Dict) t = e;
+ else {
+ if (!(e instanceof s.BaseStream)) return !1;
+ t = e.dict;
+ }
+ return t.has('FunctionType');
+ };
+ var r = a(5),
+ n = a(2),
+ i = a(58),
+ s = a(7),
+ o = a(59);
+ t.PDFFunctionFactory = class PDFFunctionFactory {
+ constructor({xref: e, isEvalSupported: t = !0}) {
+ this.xref = e;
+ this.isEvalSupported = !1 !== t;
+ }
+ create(e) {
+ const t = this.getCached(e);
+ if (t) return t;
+ const a = PDFFunction.parse({
+ xref: this.xref,
+ isEvalSupported: this.isEvalSupported,
+ fn: e instanceof r.Ref ? this.xref.fetch(e) : e,
+ });
+ this._cache(e, a);
+ return a;
+ }
+ createFromArray(e) {
+ const t = this.getCached(e);
+ if (t) return t;
+ const a = PDFFunction.parseArray({
+ xref: this.xref,
+ isEvalSupported: this.isEvalSupported,
+ fnObj: e instanceof r.Ref ? this.xref.fetch(e) : e,
+ });
+ this._cache(e, a);
+ return a;
+ }
+ getCached(e) {
+ let t;
+ e instanceof r.Ref
+ ? (t = e)
+ : e instanceof r.Dict
+ ? (t = e.objId)
+ : e instanceof s.BaseStream && (t = e.dict && e.dict.objId);
+ if (t) {
+ const e = this._localFunctionCache.getByRef(t);
+ if (e) return e;
+ }
+ return null;
+ }
+ _cache(e, t) {
+ if (!t) throw new Error('PDFFunctionFactory._cache - expected "parsedFunction" argument.');
+ let a;
+ e instanceof r.Ref
+ ? (a = e)
+ : e instanceof r.Dict
+ ? (a = e.objId)
+ : e instanceof s.BaseStream && (a = e.dict && e.dict.objId);
+ a && this._localFunctionCache.set(null, a, t);
+ }
+ get _localFunctionCache() {
+ return (0, n.shadow)(this, '_localFunctionCache', new o.LocalFunctionCache());
+ }
+ };
+ function toNumberArray(e) {
+ if (!Array.isArray(e)) return null;
+ const t = e.length;
+ for (let a = 0; a < t; a++)
+ if ('number' != typeof e[a]) {
+ const a = new Array(t);
+ for (let r = 0; r < t; r++) a[r] = +e[r];
+ return a;
+ }
+ return e;
+ }
+ class PDFFunction {
+ static getSampleArray(e, t, a, r) {
+ let n,
+ i,
+ s = 1;
+ for (n = 0, i = e.length; n < i; n++) s *= e[n];
+ s *= t;
+ const o = new Array(s);
+ let c = 0,
+ l = 0;
+ const h = 1 / (2 ** a - 1),
+ u = r.getBytes((s * a + 7) / 8);
+ let d = 0;
+ for (n = 0; n < s; n++) {
+ for (; c < a; ) {
+ l <<= 8;
+ l |= u[d++];
+ c += 8;
+ }
+ c -= a;
+ o[n] = (l >> c) * h;
+ l &= (1 << c) - 1;
+ }
+ return o;
+ }
+ static parse({xref: e, isEvalSupported: t, fn: a}) {
+ const r = a.dict || a;
+ switch (r.get('FunctionType')) {
+ case 0:
+ return this.constructSampled({xref: e, isEvalSupported: t, fn: a, dict: r});
+ case 1:
+ break;
+ case 2:
+ return this.constructInterpolated({xref: e, isEvalSupported: t, dict: r});
+ case 3:
+ return this.constructStiched({xref: e, isEvalSupported: t, dict: r});
+ case 4:
+ return this.constructPostScript({xref: e, isEvalSupported: t, fn: a, dict: r});
+ }
+ throw new n.FormatError('Unknown type of function');
+ }
+ static parseArray({xref: e, isEvalSupported: t, fnObj: a}) {
+ if (!Array.isArray(a)) return this.parse({xref: e, isEvalSupported: t, fn: a});
+ const r = [];
+ for (let n = 0, i = a.length; n < i; n++)
+ r.push(this.parse({xref: e, isEvalSupported: t, fn: e.fetchIfRef(a[n])}));
+ return function (e, t, a, n) {
+ for (let i = 0, s = r.length; i < s; i++) r[i](e, t, a, n + i);
+ };
+ }
+ static constructSampled({xref: e, isEvalSupported: t, fn: a, dict: r}) {
+ function toMultiArray(e) {
+ const t = e.length,
+ a = [];
+ let r = 0;
+ for (let n = 0; n < t; n += 2) a[r++] = [e[n], e[n + 1]];
+ return a;
+ }
+ function interpolate(e, t, a, r, n) {
+ return r + ((n - r) / (a - t)) * (e - t);
+ }
+ let i = toNumberArray(r.getArray('Domain')),
+ s = toNumberArray(r.getArray('Range'));
+ if (!i || !s) throw new n.FormatError('No domain or range');
+ const o = i.length / 2,
+ c = s.length / 2;
+ i = toMultiArray(i);
+ s = toMultiArray(s);
+ const l = toNumberArray(r.getArray('Size')),
+ h = r.get('BitsPerSample'),
+ u = r.get('Order') || 1;
+ 1 !== u && (0, n.info)('No support for cubic spline interpolation: ' + u);
+ let d = toNumberArray(r.getArray('Encode'));
+ if (d) d = toMultiArray(d);
+ else {
+ d = [];
+ for (let e = 0; e < o; ++e) d.push([0, l[e] - 1]);
+ }
+ let f = toNumberArray(r.getArray('Decode'));
+ f = f ? toMultiArray(f) : s;
+ const g = this.getSampleArray(l, c, h, a);
+ return function constructSampledFn(e, t, a, r) {
+ const n = 1 << o,
+ h = new Float64Array(n),
+ u = new Uint32Array(n);
+ let p, m;
+ for (m = 0; m < n; m++) h[m] = 1;
+ let b = c,
+ y = 1;
+ for (p = 0; p < o; ++p) {
+ const a = i[p][0],
+ r = i[p][1];
+ let s = interpolate(Math.min(Math.max(e[t + p], a), r), a, r, d[p][0], d[p][1]);
+ const o = l[p];
+ s = Math.min(Math.max(s, 0), o - 1);
+ const c = s < o - 1 ? Math.floor(s) : s - 1,
+ f = c + 1 - s,
+ g = s - c,
+ w = c * b,
+ S = w + b;
+ for (m = 0; m < n; m++)
+ if (m & y) {
+ h[m] *= g;
+ u[m] += S;
+ } else {
+ h[m] *= f;
+ u[m] += w;
+ }
+ b *= o;
+ y <<= 1;
+ }
+ for (m = 0; m < c; ++m) {
+ let e = 0;
+ for (p = 0; p < n; p++) e += g[u[p] + m] * h[p];
+ e = interpolate(e, 0, 1, f[m][0], f[m][1]);
+ a[r + m] = Math.min(Math.max(e, s[m][0]), s[m][1]);
+ }
+ };
+ }
+ static constructInterpolated({xref: e, isEvalSupported: t, dict: a}) {
+ const r = toNumberArray(a.getArray('C0')) || [0],
+ n = toNumberArray(a.getArray('C1')) || [1],
+ i = a.get('N'),
+ s = [];
+ for (let e = 0, t = r.length; e < t; ++e) s.push(n[e] - r[e]);
+ const o = s.length;
+ return function constructInterpolatedFn(e, t, a, n) {
+ const c = 1 === i ? e[t] : e[t] ** i;
+ for (let e = 0; e < o; ++e) a[n + e] = r[e] + c * s[e];
+ };
+ }
+ static constructStiched({xref: e, isEvalSupported: t, dict: a}) {
+ const r = toNumberArray(a.getArray('Domain'));
+ if (!r) throw new n.FormatError('No domain');
+ if (1 !== r.length / 2) throw new n.FormatError('Bad domain for stiched function');
+ const i = a.get('Functions'),
+ s = [];
+ for (let a = 0, r = i.length; a < r; ++a)
+ s.push(this.parse({xref: e, isEvalSupported: t, fn: e.fetchIfRef(i[a])}));
+ const o = toNumberArray(a.getArray('Bounds')),
+ c = toNumberArray(a.getArray('Encode')),
+ l = new Float32Array(1);
+ return function constructStichedFn(e, t, a, n) {
+ const i = (function constructStichedFromIRClip(e, t, a) {
+ e > a ? (e = a) : e < t && (e = t);
+ return e;
+ })(e[t], r[0], r[1]),
+ h = o.length;
+ let u;
+ for (u = 0; u < h && !(i < o[u]); ++u);
+ let d = r[0];
+ u > 0 && (d = o[u - 1]);
+ let f = r[1];
+ u < o.length && (f = o[u]);
+ const g = c[2 * u],
+ p = c[2 * u + 1];
+ l[0] = d === f ? g : g + ((i - d) * (p - g)) / (f - d);
+ s[u](l, 0, a, n);
+ };
+ }
+ static constructPostScript({xref: e, isEvalSupported: t, fn: a, dict: r}) {
+ const s = toNumberArray(r.getArray('Domain')),
+ o = toNumberArray(r.getArray('Range'));
+ if (!s) throw new n.FormatError('No domain.');
+ if (!o) throw new n.FormatError('No range.');
+ const c = new i.PostScriptLexer(a),
+ l = new i.PostScriptParser(c).parse();
+ if (t && n.FeatureTest.isEvalSupported) {
+ const e = new PostScriptCompiler().compile(l, s, o);
+ if (e) return new Function('src', 'srcOffset', 'dest', 'destOffset', e);
+ }
+ (0, n.info)('Unable to compile PS function');
+ const h = o.length >> 1,
+ u = s.length >> 1,
+ d = new PostScriptEvaluator(l),
+ f = Object.create(null);
+ let g = 8192;
+ const p = new Float32Array(u);
+ return function constructPostScriptFn(e, t, a, r) {
+ let n,
+ i,
+ s = '';
+ const c = p;
+ for (n = 0; n < u; n++) {
+ i = e[t + n];
+ c[n] = i;
+ s += i + '_';
+ }
+ const l = f[s];
+ if (void 0 !== l) {
+ a.set(l, r);
+ return;
+ }
+ const m = new Float32Array(h),
+ b = d.execute(c),
+ y = b.length - h;
+ for (n = 0; n < h; n++) {
+ i = b[y + n];
+ let e = o[2 * n];
+ if (i < e) i = e;
+ else {
+ e = o[2 * n + 1];
+ i > e && (i = e);
+ }
+ m[n] = i;
+ }
+ if (g > 0) {
+ g--;
+ f[s] = m;
+ }
+ a.set(m, r);
+ };
+ }
+ }
+ class PostScriptStack {
+ static get MAX_STACK_SIZE() {
+ return (0, n.shadow)(this, 'MAX_STACK_SIZE', 100);
+ }
+ constructor(e) {
+ this.stack = e ? Array.prototype.slice.call(e, 0) : [];
+ }
+ push(e) {
+ if (this.stack.length >= PostScriptStack.MAX_STACK_SIZE)
+ throw new Error('PostScript function stack overflow.');
+ this.stack.push(e);
+ }
+ pop() {
+ if (this.stack.length <= 0) throw new Error('PostScript function stack underflow.');
+ return this.stack.pop();
+ }
+ copy(e) {
+ if (this.stack.length + e >= PostScriptStack.MAX_STACK_SIZE)
+ throw new Error('PostScript function stack overflow.');
+ const t = this.stack;
+ for (let a = t.length - e, r = e - 1; r >= 0; r--, a++) t.push(t[a]);
+ }
+ index(e) {
+ this.push(this.stack[this.stack.length - e - 1]);
+ }
+ roll(e, t) {
+ const a = this.stack,
+ r = a.length - e,
+ n = a.length - 1,
+ i = r + (t - Math.floor(t / e) * e);
+ for (let e = r, t = n; e < t; e++, t--) {
+ const r = a[e];
+ a[e] = a[t];
+ a[t] = r;
+ }
+ for (let e = r, t = i - 1; e < t; e++, t--) {
+ const r = a[e];
+ a[e] = a[t];
+ a[t] = r;
+ }
+ for (let e = i, t = n; e < t; e++, t--) {
+ const r = a[e];
+ a[e] = a[t];
+ a[t] = r;
+ }
+ }
+ }
+ class PostScriptEvaluator {
+ constructor(e) {
+ this.operators = e;
+ }
+ execute(e) {
+ const t = new PostScriptStack(e);
+ let a = 0;
+ const r = this.operators,
+ i = r.length;
+ let s, o, c;
+ for (; a < i; ) {
+ s = r[a++];
+ if ('number' != typeof s)
+ switch (s) {
+ case 'jz':
+ c = t.pop();
+ o = t.pop();
+ o || (a = c);
+ break;
+ case 'j':
+ o = t.pop();
+ a = o;
+ break;
+ case 'abs':
+ o = t.pop();
+ t.push(Math.abs(o));
+ break;
+ case 'add':
+ c = t.pop();
+ o = t.pop();
+ t.push(o + c);
+ break;
+ case 'and':
+ c = t.pop();
+ o = t.pop();
+ 'boolean' == typeof o && 'boolean' == typeof c ? t.push(o && c) : t.push(o & c);
+ break;
+ case 'atan':
+ o = t.pop();
+ t.push(Math.atan(o));
+ break;
+ case 'bitshift':
+ c = t.pop();
+ o = t.pop();
+ o > 0 ? t.push(o << c) : t.push(o >> c);
+ break;
+ case 'ceiling':
+ o = t.pop();
+ t.push(Math.ceil(o));
+ break;
+ case 'copy':
+ o = t.pop();
+ t.copy(o);
+ break;
+ case 'cos':
+ o = t.pop();
+ t.push(Math.cos(o));
+ break;
+ case 'cvi':
+ o = 0 | t.pop();
+ t.push(o);
+ break;
+ case 'cvr':
+ break;
+ case 'div':
+ c = t.pop();
+ o = t.pop();
+ t.push(o / c);
+ break;
+ case 'dup':
+ t.copy(1);
+ break;
+ case 'eq':
+ c = t.pop();
+ o = t.pop();
+ t.push(o === c);
+ break;
+ case 'exch':
+ t.roll(2, 1);
+ break;
+ case 'exp':
+ c = t.pop();
+ o = t.pop();
+ t.push(o ** c);
+ break;
+ case 'false':
+ t.push(!1);
+ break;
+ case 'floor':
+ o = t.pop();
+ t.push(Math.floor(o));
+ break;
+ case 'ge':
+ c = t.pop();
+ o = t.pop();
+ t.push(o >= c);
+ break;
+ case 'gt':
+ c = t.pop();
+ o = t.pop();
+ t.push(o > c);
+ break;
+ case 'idiv':
+ c = t.pop();
+ o = t.pop();
+ t.push((o / c) | 0);
+ break;
+ case 'index':
+ o = t.pop();
+ t.index(o);
+ break;
+ case 'le':
+ c = t.pop();
+ o = t.pop();
+ t.push(o <= c);
+ break;
+ case 'ln':
+ o = t.pop();
+ t.push(Math.log(o));
+ break;
+ case 'log':
+ o = t.pop();
+ t.push(Math.log(o) / Math.LN10);
+ break;
+ case 'lt':
+ c = t.pop();
+ o = t.pop();
+ t.push(o < c);
+ break;
+ case 'mod':
+ c = t.pop();
+ o = t.pop();
+ t.push(o % c);
+ break;
+ case 'mul':
+ c = t.pop();
+ o = t.pop();
+ t.push(o * c);
+ break;
+ case 'ne':
+ c = t.pop();
+ o = t.pop();
+ t.push(o !== c);
+ break;
+ case 'neg':
+ o = t.pop();
+ t.push(-o);
+ break;
+ case 'not':
+ o = t.pop();
+ 'boolean' == typeof o ? t.push(!o) : t.push(~o);
+ break;
+ case 'or':
+ c = t.pop();
+ o = t.pop();
+ 'boolean' == typeof o && 'boolean' == typeof c ? t.push(o || c) : t.push(o | c);
+ break;
+ case 'pop':
+ t.pop();
+ break;
+ case 'roll':
+ c = t.pop();
+ o = t.pop();
+ t.roll(o, c);
+ break;
+ case 'round':
+ o = t.pop();
+ t.push(Math.round(o));
+ break;
+ case 'sin':
+ o = t.pop();
+ t.push(Math.sin(o));
+ break;
+ case 'sqrt':
+ o = t.pop();
+ t.push(Math.sqrt(o));
+ break;
+ case 'sub':
+ c = t.pop();
+ o = t.pop();
+ t.push(o - c);
+ break;
+ case 'true':
+ t.push(!0);
+ break;
+ case 'truncate':
+ o = t.pop();
+ o = o < 0 ? Math.ceil(o) : Math.floor(o);
+ t.push(o);
+ break;
+ case 'xor':
+ c = t.pop();
+ o = t.pop();
+ 'boolean' == typeof o && 'boolean' == typeof c ? t.push(o !== c) : t.push(o ^ c);
+ break;
+ default:
+ throw new n.FormatError(`Unknown operator ${s}`);
+ }
+ else t.push(s);
+ }
+ return t.stack;
+ }
+ }
+ t.PostScriptEvaluator = PostScriptEvaluator;
+ class AstNode {
+ constructor(e) {
+ this.type = e;
+ }
+ visit(e) {
+ (0, n.unreachable)('abstract method');
+ }
+ }
+ class AstArgument extends AstNode {
+ constructor(e, t, a) {
+ super('args');
+ this.index = e;
+ this.min = t;
+ this.max = a;
+ }
+ visit(e) {
+ e.visitArgument(this);
+ }
+ }
+ class AstLiteral extends AstNode {
+ constructor(e) {
+ super('literal');
+ this.number = e;
+ this.min = e;
+ this.max = e;
+ }
+ visit(e) {
+ e.visitLiteral(this);
+ }
+ }
+ class AstBinaryOperation extends AstNode {
+ constructor(e, t, a, r, n) {
+ super('binary');
+ this.op = e;
+ this.arg1 = t;
+ this.arg2 = a;
+ this.min = r;
+ this.max = n;
+ }
+ visit(e) {
+ e.visitBinaryOperation(this);
+ }
+ }
+ class AstMin extends AstNode {
+ constructor(e, t) {
+ super('max');
+ this.arg = e;
+ this.min = e.min;
+ this.max = t;
+ }
+ visit(e) {
+ e.visitMin(this);
+ }
+ }
+ class AstVariable extends AstNode {
+ constructor(e, t, a) {
+ super('var');
+ this.index = e;
+ this.min = t;
+ this.max = a;
+ }
+ visit(e) {
+ e.visitVariable(this);
+ }
+ }
+ class AstVariableDefinition extends AstNode {
+ constructor(e, t) {
+ super('definition');
+ this.variable = e;
+ this.arg = t;
+ }
+ visit(e) {
+ e.visitVariableDefinition(this);
+ }
+ }
+ class ExpressionBuilderVisitor {
+ constructor() {
+ this.parts = [];
+ }
+ visitArgument(e) {
+ this.parts.push('Math.max(', e.min, ', Math.min(', e.max, ', src[srcOffset + ', e.index, ']))');
+ }
+ visitVariable(e) {
+ this.parts.push('v', e.index);
+ }
+ visitLiteral(e) {
+ this.parts.push(e.number);
+ }
+ visitBinaryOperation(e) {
+ this.parts.push('(');
+ e.arg1.visit(this);
+ this.parts.push(' ', e.op, ' ');
+ e.arg2.visit(this);
+ this.parts.push(')');
+ }
+ visitVariableDefinition(e) {
+ this.parts.push('var ');
+ e.variable.visit(this);
+ this.parts.push(' = ');
+ e.arg.visit(this);
+ this.parts.push(';');
+ }
+ visitMin(e) {
+ this.parts.push('Math.min(');
+ e.arg.visit(this);
+ this.parts.push(', ', e.max, ')');
+ }
+ toString() {
+ return this.parts.join('');
+ }
+ }
+ function buildAddOperation(e, t) {
+ return 'literal' === t.type && 0 === t.number
+ ? e
+ : 'literal' === e.type && 0 === e.number
+ ? t
+ : 'literal' === t.type && 'literal' === e.type
+ ? new AstLiteral(e.number + t.number)
+ : new AstBinaryOperation('+', e, t, e.min + t.min, e.max + t.max);
+ }
+ function buildMulOperation(e, t) {
+ if ('literal' === t.type) {
+ if (0 === t.number) return new AstLiteral(0);
+ if (1 === t.number) return e;
+ if ('literal' === e.type) return new AstLiteral(e.number * t.number);
+ }
+ if ('literal' === e.type) {
+ if (0 === e.number) return new AstLiteral(0);
+ if (1 === e.number) return t;
+ }
+ const a = Math.min(e.min * t.min, e.min * t.max, e.max * t.min, e.max * t.max),
+ r = Math.max(e.min * t.min, e.min * t.max, e.max * t.min, e.max * t.max);
+ return new AstBinaryOperation('*', e, t, a, r);
+ }
+ function buildSubOperation(e, t) {
+ if ('literal' === t.type) {
+ if (0 === t.number) return e;
+ if ('literal' === e.type) return new AstLiteral(e.number - t.number);
+ }
+ return 'binary' === t.type &&
+ '-' === t.op &&
+ 'literal' === e.type &&
+ 1 === e.number &&
+ 'literal' === t.arg1.type &&
+ 1 === t.arg1.number
+ ? t.arg2
+ : new AstBinaryOperation('-', e, t, e.min - t.max, e.max - t.min);
+ }
+ function buildMinOperation(e, t) {
+ return e.min >= t ? new AstLiteral(t) : e.max <= t ? e : new AstMin(e, t);
+ }
+ class PostScriptCompiler {
+ compile(e, t, a) {
+ const r = [],
+ n = [],
+ i = t.length >> 1,
+ s = a.length >> 1;
+ let o,
+ c,
+ l,
+ h,
+ u,
+ d,
+ f,
+ g,
+ p = 0;
+ for (let e = 0; e < i; e++) r.push(new AstArgument(e, t[2 * e], t[2 * e + 1]));
+ for (let t = 0, a = e.length; t < a; t++) {
+ g = e[t];
+ if ('number' != typeof g)
+ switch (g) {
+ case 'add':
+ if (r.length < 2) return null;
+ h = r.pop();
+ l = r.pop();
+ r.push(buildAddOperation(l, h));
+ break;
+ case 'cvr':
+ if (r.length < 1) return null;
+ break;
+ case 'mul':
+ if (r.length < 2) return null;
+ h = r.pop();
+ l = r.pop();
+ r.push(buildMulOperation(l, h));
+ break;
+ case 'sub':
+ if (r.length < 2) return null;
+ h = r.pop();
+ l = r.pop();
+ r.push(buildSubOperation(l, h));
+ break;
+ case 'exch':
+ if (r.length < 2) return null;
+ u = r.pop();
+ d = r.pop();
+ r.push(u, d);
+ break;
+ case 'pop':
+ if (r.length < 1) return null;
+ r.pop();
+ break;
+ case 'index':
+ if (r.length < 1) return null;
+ l = r.pop();
+ if ('literal' !== l.type) return null;
+ o = l.number;
+ if (o < 0 || !Number.isInteger(o) || r.length < o) return null;
+ u = r[r.length - o - 1];
+ if ('literal' === u.type || 'var' === u.type) {
+ r.push(u);
+ break;
+ }
+ f = new AstVariable(p++, u.min, u.max);
+ r[r.length - o - 1] = f;
+ r.push(f);
+ n.push(new AstVariableDefinition(f, u));
+ break;
+ case 'dup':
+ if (r.length < 1) return null;
+ if (
+ 'number' == typeof e[t + 1] &&
+ 'gt' === e[t + 2] &&
+ e[t + 3] === t + 7 &&
+ 'jz' === e[t + 4] &&
+ 'pop' === e[t + 5] &&
+ e[t + 6] === e[t + 1]
+ ) {
+ l = r.pop();
+ r.push(buildMinOperation(l, e[t + 1]));
+ t += 6;
+ break;
+ }
+ u = r.at(-1);
+ if ('literal' === u.type || 'var' === u.type) {
+ r.push(u);
+ break;
+ }
+ f = new AstVariable(p++, u.min, u.max);
+ r[r.length - 1] = f;
+ r.push(f);
+ n.push(new AstVariableDefinition(f, u));
+ break;
+ case 'roll':
+ if (r.length < 2) return null;
+ h = r.pop();
+ l = r.pop();
+ if ('literal' !== h.type || 'literal' !== l.type) return null;
+ c = h.number;
+ o = l.number;
+ if (o <= 0 || !Number.isInteger(o) || !Number.isInteger(c) || r.length < o) return null;
+ c = ((c % o) + o) % o;
+ if (0 === c) break;
+ Array.prototype.push.apply(r, r.splice(r.length - o, o - c));
+ break;
+ default:
+ return null;
+ }
+ else r.push(new AstLiteral(g));
+ }
+ if (r.length !== s) return null;
+ const m = [];
+ for (const e of n) {
+ const t = new ExpressionBuilderVisitor();
+ e.visit(t);
+ m.push(t.toString());
+ }
+ for (let e = 0, t = r.length; e < t; e++) {
+ const t = r[e],
+ n = new ExpressionBuilderVisitor();
+ t.visit(n);
+ const i = a[2 * e],
+ s = a[2 * e + 1],
+ o = [n.toString()];
+ if (i > t.min) {
+ o.unshift('Math.max(', i, ', ');
+ o.push(')');
+ }
+ if (s < t.max) {
+ o.unshift('Math.min(', s, ', ');
+ o.push(')');
+ }
+ o.unshift('dest[destOffset + ', e, '] = ');
+ o.push(';');
+ m.push(o.join(''));
+ }
+ return m.join('\n');
+ }
+ }
+ t.PostScriptCompiler = PostScriptCompiler;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.PostScriptParser = t.PostScriptLexer = void 0;
+ var r = a(2),
+ n = a(5),
+ i = a(6);
+ t.PostScriptParser = class PostScriptParser {
+ constructor(e) {
+ this.lexer = e;
+ this.operators = [];
+ this.token = null;
+ this.prev = null;
+ }
+ nextToken() {
+ this.prev = this.token;
+ this.token = this.lexer.getToken();
+ }
+ accept(e) {
+ if (this.token.type === e) {
+ this.nextToken();
+ return !0;
+ }
+ return !1;
+ }
+ expect(e) {
+ if (this.accept(e)) return !0;
+ throw new r.FormatError(`Unexpected symbol: found ${this.token.type} expected ${e}.`);
+ }
+ parse() {
+ this.nextToken();
+ this.expect(s.LBRACE);
+ this.parseBlock();
+ this.expect(s.RBRACE);
+ return this.operators;
+ }
+ parseBlock() {
+ for (;;)
+ if (this.accept(s.NUMBER)) this.operators.push(this.prev.value);
+ else if (this.accept(s.OPERATOR)) this.operators.push(this.prev.value);
+ else {
+ if (!this.accept(s.LBRACE)) return;
+ this.parseCondition();
+ }
+ }
+ parseCondition() {
+ const e = this.operators.length;
+ this.operators.push(null, null);
+ this.parseBlock();
+ this.expect(s.RBRACE);
+ if (this.accept(s.IF)) {
+ this.operators[e] = this.operators.length;
+ this.operators[e + 1] = 'jz';
+ } else {
+ if (!this.accept(s.LBRACE)) throw new r.FormatError('PS Function: error parsing conditional.');
+ {
+ const t = this.operators.length;
+ this.operators.push(null, null);
+ const a = this.operators.length;
+ this.parseBlock();
+ this.expect(s.RBRACE);
+ this.expect(s.IFELSE);
+ this.operators[t] = this.operators.length;
+ this.operators[t + 1] = 'j';
+ this.operators[e] = a;
+ this.operators[e + 1] = 'jz';
+ }
+ }
+ }
+ };
+ const s = {LBRACE: 0, RBRACE: 1, NUMBER: 2, OPERATOR: 3, IF: 4, IFELSE: 5};
+ class PostScriptToken {
+ static get opCache() {
+ return (0, r.shadow)(this, 'opCache', Object.create(null));
+ }
+ constructor(e, t) {
+ this.type = e;
+ this.value = t;
+ }
+ static getOperator(e) {
+ const t = PostScriptToken.opCache[e];
+ return t || (PostScriptToken.opCache[e] = new PostScriptToken(s.OPERATOR, e));
+ }
+ static get LBRACE() {
+ return (0, r.shadow)(this, 'LBRACE', new PostScriptToken(s.LBRACE, '{'));
+ }
+ static get RBRACE() {
+ return (0, r.shadow)(this, 'RBRACE', new PostScriptToken(s.RBRACE, '}'));
+ }
+ static get IF() {
+ return (0, r.shadow)(this, 'IF', new PostScriptToken(s.IF, 'IF'));
+ }
+ static get IFELSE() {
+ return (0, r.shadow)(this, 'IFELSE', new PostScriptToken(s.IFELSE, 'IFELSE'));
+ }
+ }
+ t.PostScriptLexer = class PostScriptLexer {
+ constructor(e) {
+ this.stream = e;
+ this.nextChar();
+ this.strBuf = [];
+ }
+ nextChar() {
+ return (this.currentChar = this.stream.getByte());
+ }
+ getToken() {
+ let e = !1,
+ t = this.currentChar;
+ for (;;) {
+ if (t < 0) return n.EOF;
+ if (e) (10 !== t && 13 !== t) || (e = !1);
+ else if (37 === t) e = !0;
+ else if (!(0, i.isWhiteSpace)(t)) break;
+ t = this.nextChar();
+ }
+ switch (0 | t) {
+ case 48:
+ case 49:
+ case 50:
+ case 51:
+ case 52:
+ case 53:
+ case 54:
+ case 55:
+ case 56:
+ case 57:
+ case 43:
+ case 45:
+ case 46:
+ return new PostScriptToken(s.NUMBER, this.getNumber());
+ case 123:
+ this.nextChar();
+ return PostScriptToken.LBRACE;
+ case 125:
+ this.nextChar();
+ return PostScriptToken.RBRACE;
+ }
+ const a = this.strBuf;
+ a.length = 0;
+ a[0] = String.fromCharCode(t);
+ for (; (t = this.nextChar()) >= 0 && ((t >= 65 && t <= 90) || (t >= 97 && t <= 122)); )
+ a.push(String.fromCharCode(t));
+ const r = a.join('');
+ switch (r.toLowerCase()) {
+ case 'if':
+ return PostScriptToken.IF;
+ case 'ifelse':
+ return PostScriptToken.IFELSE;
+ default:
+ return PostScriptToken.getOperator(r);
+ }
+ }
+ getNumber() {
+ let e = this.currentChar;
+ const t = this.strBuf;
+ t.length = 0;
+ t[0] = String.fromCharCode(e);
+ for (; (e = this.nextChar()) >= 0 && ((e >= 48 && e <= 57) || 45 === e || 46 === e); )
+ t.push(String.fromCharCode(e));
+ const a = parseFloat(t.join(''));
+ if (isNaN(a)) throw new r.FormatError(`Invalid floating point number: ${a}`);
+ return a;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.LocalTilingPatternCache =
+ t.LocalImageCache =
+ t.LocalGStateCache =
+ t.LocalFunctionCache =
+ t.LocalColorSpaceCache =
+ t.GlobalImageCache =
+ void 0;
+ var r = a(2),
+ n = a(5);
+ class BaseLocalCache {
+ constructor(e) {
+ this.constructor === BaseLocalCache && (0, r.unreachable)('Cannot initialize BaseLocalCache.');
+ this._onlyRefs = !0 === (e && e.onlyRefs);
+ if (!this._onlyRefs) {
+ this._nameRefMap = new Map();
+ this._imageMap = new Map();
+ }
+ this._imageCache = new n.RefSetCache();
+ }
+ getByName(e) {
+ this._onlyRefs && (0, r.unreachable)('Should not call `getByName` method.');
+ const t = this._nameRefMap.get(e);
+ return t ? this.getByRef(t) : this._imageMap.get(e) || null;
+ }
+ getByRef(e) {
+ return this._imageCache.get(e) || null;
+ }
+ set(e, t, a) {
+ (0, r.unreachable)('Abstract method `set` called.');
+ }
+ }
+ t.LocalImageCache = class LocalImageCache extends BaseLocalCache {
+ set(e, t = null, a) {
+ if ('string' != typeof e) throw new Error('LocalImageCache.set - expected "name" argument.');
+ if (t) {
+ if (this._imageCache.has(t)) return;
+ this._nameRefMap.set(e, t);
+ this._imageCache.put(t, a);
+ } else this._imageMap.has(e) || this._imageMap.set(e, a);
+ }
+ };
+ t.LocalColorSpaceCache = class LocalColorSpaceCache extends BaseLocalCache {
+ set(e = null, t = null, a) {
+ if ('string' != typeof e && !t)
+ throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');
+ if (t) {
+ if (this._imageCache.has(t)) return;
+ null !== e && this._nameRefMap.set(e, t);
+ this._imageCache.put(t, a);
+ } else this._imageMap.has(e) || this._imageMap.set(e, a);
+ }
+ };
+ t.LocalFunctionCache = class LocalFunctionCache extends BaseLocalCache {
+ constructor(e) {
+ super({onlyRefs: !0});
+ }
+ set(e = null, t, a) {
+ if (!t) throw new Error('LocalFunctionCache.set - expected "ref" argument.');
+ this._imageCache.has(t) || this._imageCache.put(t, a);
+ }
+ };
+ t.LocalGStateCache = class LocalGStateCache extends BaseLocalCache {
+ set(e, t = null, a) {
+ if ('string' != typeof e) throw new Error('LocalGStateCache.set - expected "name" argument.');
+ if (t) {
+ if (this._imageCache.has(t)) return;
+ this._nameRefMap.set(e, t);
+ this._imageCache.put(t, a);
+ } else this._imageMap.has(e) || this._imageMap.set(e, a);
+ }
+ };
+ t.LocalTilingPatternCache = class LocalTilingPatternCache extends BaseLocalCache {
+ constructor(e) {
+ super({onlyRefs: !0});
+ }
+ set(e = null, t, a) {
+ if (!t) throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');
+ this._imageCache.has(t) || this._imageCache.put(t, a);
+ }
+ };
+ class GlobalImageCache {
+ static get NUM_PAGES_THRESHOLD() {
+ return (0, r.shadow)(this, 'NUM_PAGES_THRESHOLD', 2);
+ }
+ static get MIN_IMAGES_TO_CACHE() {
+ return (0, r.shadow)(this, 'MIN_IMAGES_TO_CACHE', 10);
+ }
+ static get MAX_BYTE_SIZE() {
+ return (0, r.shadow)(this, 'MAX_BYTE_SIZE', 4e7);
+ }
+ constructor() {
+ this._refCache = new n.RefSetCache();
+ this._imageCache = new n.RefSetCache();
+ }
+ get _byteSize() {
+ let e = 0;
+ for (const t of this._imageCache) e += t.byteSize;
+ return e;
+ }
+ get _cacheLimitReached() {
+ return (
+ !(this._imageCache.size < GlobalImageCache.MIN_IMAGES_TO_CACHE) &&
+ !(this._byteSize < GlobalImageCache.MAX_BYTE_SIZE)
+ );
+ }
+ shouldCache(e, t) {
+ const a = this._refCache.get(e);
+ return (
+ !((a ? a.size + (a.has(t) ? 0 : 1) : 1) < GlobalImageCache.NUM_PAGES_THRESHOLD) &&
+ !(!this._imageCache.has(e) && this._cacheLimitReached)
+ );
+ }
+ addPageIndex(e, t) {
+ let a = this._refCache.get(e);
+ if (!a) {
+ a = new Set();
+ this._refCache.put(e, a);
+ }
+ a.add(t);
+ }
+ addByteSize(e, t) {
+ const a = this._imageCache.get(e);
+ a && (a.byteSize || (a.byteSize = t));
+ }
+ getData(e, t) {
+ const a = this._refCache.get(e);
+ if (!a) return null;
+ if (a.size < GlobalImageCache.NUM_PAGES_THRESHOLD) return null;
+ const r = this._imageCache.get(e);
+ if (!r) return null;
+ a.add(t);
+ return r;
+ }
+ setData(e, t) {
+ if (!this._refCache.has(e))
+ throw new Error('GlobalImageCache.setData - expected "addPageIndex" to have been called.');
+ this._imageCache.has(e) ||
+ (this._cacheLimitReached
+ ? (0, r.warn)('GlobalImageCache.setData - cache limit reached.')
+ : this._imageCache.put(e, t));
+ }
+ clear(e = !1) {
+ e || this._refCache.clear();
+ this._imageCache.clear();
+ }
+ }
+ t.GlobalImageCache = GlobalImageCache;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.bidi = function bidi(e, t = -1, a = !1) {
+ let c = !0;
+ const l = e.length;
+ if (0 === l || a) return createBidiText(e, c, a);
+ s.length = l;
+ o.length = l;
+ let h,
+ u,
+ d = 0;
+ for (h = 0; h < l; ++h) {
+ s[h] = e.charAt(h);
+ const t = e.charCodeAt(h);
+ let a = 'L';
+ if (t <= 255) a = n[t];
+ else if (1424 <= t && t <= 1524) a = 'R';
+ else if (1536 <= t && t <= 1791) {
+ a = i[255 & t];
+ a || (0, r.warn)('Bidi: invalid Unicode character ' + t.toString(16));
+ } else 1792 <= t && t <= 2220 && (a = 'AL');
+ ('R' !== a && 'AL' !== a && 'AN' !== a) || d++;
+ o[h] = a;
+ }
+ if (0 === d) {
+ c = !0;
+ return createBidiText(e, c);
+ }
+ if (-1 === t)
+ if (d / l < 0.3 && l > 4) {
+ c = !0;
+ t = 0;
+ } else {
+ c = !1;
+ t = 1;
+ }
+ const f = [];
+ for (h = 0; h < l; ++h) f[h] = t;
+ const g = isOdd(t) ? 'R' : 'L',
+ p = g,
+ m = p;
+ let b,
+ y = p;
+ for (h = 0; h < l; ++h) 'NSM' === o[h] ? (o[h] = y) : (y = o[h]);
+ y = p;
+ for (h = 0; h < l; ++h) {
+ b = o[h];
+ 'EN' === b ? (o[h] = 'AL' === y ? 'AN' : 'EN') : ('R' !== b && 'L' !== b && 'AL' !== b) || (y = b);
+ }
+ for (h = 0; h < l; ++h) {
+ b = o[h];
+ 'AL' === b && (o[h] = 'R');
+ }
+ for (h = 1; h < l - 1; ++h) {
+ 'ES' === o[h] && 'EN' === o[h - 1] && 'EN' === o[h + 1] && (o[h] = 'EN');
+ 'CS' !== o[h] || ('EN' !== o[h - 1] && 'AN' !== o[h - 1]) || o[h + 1] !== o[h - 1] || (o[h] = o[h - 1]);
+ }
+ for (h = 0; h < l; ++h)
+ if ('EN' === o[h]) {
+ for (let e = h - 1; e >= 0 && 'ET' === o[e]; --e) o[e] = 'EN';
+ for (let e = h + 1; e < l && 'ET' === o[e]; ++e) o[e] = 'EN';
+ }
+ for (h = 0; h < l; ++h) {
+ b = o[h];
+ ('WS' !== b && 'ES' !== b && 'ET' !== b && 'CS' !== b) || (o[h] = 'ON');
+ }
+ y = p;
+ for (h = 0; h < l; ++h) {
+ b = o[h];
+ 'EN' === b ? (o[h] = 'L' === y ? 'L' : 'EN') : ('R' !== b && 'L' !== b) || (y = b);
+ }
+ for (h = 0; h < l; ++h)
+ if ('ON' === o[h]) {
+ const e = findUnequal(o, h + 1, 'ON');
+ let t = p;
+ h > 0 && (t = o[h - 1]);
+ let a = m;
+ e + 1 < l && (a = o[e + 1]);
+ 'L' !== t && (t = 'R');
+ 'L' !== a && (a = 'R');
+ t === a && setValues(o, h, e, t);
+ h = e - 1;
+ }
+ for (h = 0; h < l; ++h) 'ON' === o[h] && (o[h] = g);
+ for (h = 0; h < l; ++h) {
+ b = o[h];
+ isEven(f[h])
+ ? 'R' === b
+ ? (f[h] += 1)
+ : ('AN' !== b && 'EN' !== b) || (f[h] += 2)
+ : ('L' !== b && 'AN' !== b && 'EN' !== b) || (f[h] += 1);
+ }
+ let w,
+ S = -1,
+ x = 99;
+ for (h = 0, u = f.length; h < u; ++h) {
+ w = f[h];
+ S < w && (S = w);
+ x > w && isOdd(w) && (x = w);
+ }
+ for (w = S; w >= x; --w) {
+ let e = -1;
+ for (h = 0, u = f.length; h < u; ++h)
+ if (f[h] < w) {
+ if (e >= 0) {
+ reverseValues(s, e, h);
+ e = -1;
+ }
+ } else e < 0 && (e = h);
+ e >= 0 && reverseValues(s, e, f.length);
+ }
+ for (h = 0, u = s.length; h < u; ++h) {
+ const e = s[h];
+ ('<' !== e && '>' !== e) || (s[h] = '');
+ }
+ return createBidiText(s.join(''), c);
+ };
+ var r = a(2);
+ const n = [
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'S',
+ 'B',
+ 'S',
+ 'WS',
+ 'B',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'B',
+ 'B',
+ 'B',
+ 'S',
+ 'WS',
+ 'ON',
+ 'ON',
+ 'ET',
+ 'ET',
+ 'ET',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ES',
+ 'CS',
+ 'ES',
+ 'CS',
+ 'CS',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'CS',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'B',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'BN',
+ 'CS',
+ 'ON',
+ 'ET',
+ 'ET',
+ 'ET',
+ 'ET',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'L',
+ 'ON',
+ 'ON',
+ 'BN',
+ 'ON',
+ 'ON',
+ 'ET',
+ 'ET',
+ 'EN',
+ 'EN',
+ 'ON',
+ 'L',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'EN',
+ 'L',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'ON',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'ON',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'ON',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ 'L',
+ ],
+ i = [
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'ON',
+ 'ON',
+ 'AL',
+ 'ET',
+ 'ET',
+ 'AL',
+ 'CS',
+ 'AL',
+ 'ON',
+ 'ON',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'AL',
+ 'AL',
+ '',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'AN',
+ 'ET',
+ 'AN',
+ 'AN',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'NSM',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'AN',
+ 'ON',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'AL',
+ 'AL',
+ 'NSM',
+ 'NSM',
+ 'ON',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'NSM',
+ 'AL',
+ 'AL',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'EN',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ 'AL',
+ ];
+ function isOdd(e) {
+ return 0 != (1 & e);
+ }
+ function isEven(e) {
+ return 0 == (1 & e);
+ }
+ function findUnequal(e, t, a) {
+ let r, n;
+ for (r = t, n = e.length; r < n; ++r) if (e[r] !== a) return r;
+ return r;
+ }
+ function setValues(e, t, a, r) {
+ for (let n = t; n < a; ++n) e[n] = r;
+ }
+ function reverseValues(e, t, a) {
+ for (let r = t, n = a - 1; r < n; ++r, --n) {
+ const t = e[r];
+ e[r] = e[n];
+ e[n] = t;
+ }
+ }
+ function createBidiText(e, t, a = !1) {
+ let r = 'ltr';
+ a ? (r = 'ttb') : t || (r = 'rtl');
+ return {str: e, dir: r};
+ }
+ const s = [],
+ o = [];
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.MurmurHash3_64 = void 0;
+ var r = a(2);
+ const n = 3285377520,
+ i = 4294901760,
+ s = 65535;
+ t.MurmurHash3_64 = class MurmurHash3_64 {
+ constructor(e) {
+ this.h1 = e ? 4294967295 & e : n;
+ this.h2 = e ? 4294967295 & e : n;
+ }
+ update(e) {
+ let t, a;
+ if ('string' == typeof e) {
+ t = new Uint8Array(2 * e.length);
+ a = 0;
+ for (let r = 0, n = e.length; r < n; r++) {
+ const n = e.charCodeAt(r);
+ if (n <= 255) t[a++] = n;
+ else {
+ t[a++] = n >>> 8;
+ t[a++] = 255 & n;
+ }
+ }
+ } else {
+ if (!(0, r.isArrayBuffer)(e))
+ throw new Error('Wrong data format in MurmurHash3_64_update. Input must be a string or array.');
+ t = e.slice();
+ a = t.byteLength;
+ }
+ const n = a >> 2,
+ o = a - 4 * n,
+ c = new Uint32Array(t.buffer, 0, n);
+ let l = 0,
+ h = 0,
+ u = this.h1,
+ d = this.h2;
+ const f = 3432918353,
+ g = 461845907,
+ p = 11601,
+ m = 13715;
+ for (let e = 0; e < n; e++)
+ if (1 & e) {
+ l = c[e];
+ l = ((l * f) & i) | ((l * p) & s);
+ l = (l << 15) | (l >>> 17);
+ l = ((l * g) & i) | ((l * m) & s);
+ u ^= l;
+ u = (u << 13) | (u >>> 19);
+ u = 5 * u + 3864292196;
+ } else {
+ h = c[e];
+ h = ((h * f) & i) | ((h * p) & s);
+ h = (h << 15) | (h >>> 17);
+ h = ((h * g) & i) | ((h * m) & s);
+ d ^= h;
+ d = (d << 13) | (d >>> 19);
+ d = 5 * d + 3864292196;
+ }
+ l = 0;
+ switch (o) {
+ case 3:
+ l ^= t[4 * n + 2] << 16;
+ case 2:
+ l ^= t[4 * n + 1] << 8;
+ case 1:
+ l ^= t[4 * n];
+ l = ((l * f) & i) | ((l * p) & s);
+ l = (l << 15) | (l >>> 17);
+ l = ((l * g) & i) | ((l * m) & s);
+ 1 & n ? (u ^= l) : (d ^= l);
+ }
+ this.h1 = u;
+ this.h2 = d;
+ }
+ hexdigest() {
+ let e = this.h1,
+ t = this.h2;
+ e ^= t >>> 1;
+ e = ((3981806797 * e) & i) | ((36045 * e) & s);
+ t = ((4283543511 * t) & i) | (((2950163797 * ((t << 16) | (e >>> 16))) & i) >>> 16);
+ e ^= t >>> 1;
+ e = ((444984403 * e) & i) | ((60499 * e) & s);
+ t = ((3301882366 * t) & i) | (((3120437893 * ((t << 16) | (e >>> 16))) & i) >>> 16);
+ e ^= t >>> 1;
+ const a = (e >>> 0).toString(16),
+ r = (t >>> 0).toString(16);
+ return a.padStart(8, '0') + r.padStart(8, '0');
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.OperatorList = void 0;
+ var r = a(2);
+ function addState(e, t, a, r, n) {
+ let i = e;
+ for (let e = 0, a = t.length - 1; e < a; e++) {
+ const a = t[e];
+ i = i[a] || (i[a] = []);
+ }
+ i[t.at(-1)] = {checkFn: a, iterateFn: r, processFn: n};
+ }
+ const n = [];
+ addState(
+ n,
+ [r.OPS.save, r.OPS.transform, r.OPS.paintInlineImageXObject, r.OPS.restore],
+ null,
+ function iterateInlineImageGroup(e, t) {
+ const a = e.fnArray,
+ n = (t - (e.iCurr - 3)) % 4;
+ switch (n) {
+ case 0:
+ return a[t] === r.OPS.save;
+ case 1:
+ return a[t] === r.OPS.transform;
+ case 2:
+ return a[t] === r.OPS.paintInlineImageXObject;
+ case 3:
+ return a[t] === r.OPS.restore;
+ }
+ throw new Error(`iterateInlineImageGroup - invalid pos: ${n}`);
+ },
+ function foundInlineImageGroup(e, t) {
+ const a = e.fnArray,
+ n = e.argsArray,
+ i = e.iCurr,
+ s = i - 3,
+ o = i - 2,
+ c = i - 1,
+ l = Math.min(Math.floor((t - s) / 4), 200);
+ if (l < 10) return t - ((t - s) % 4);
+ let h = 0;
+ const u = [];
+ let d = 0,
+ f = 1,
+ g = 1;
+ for (let e = 0; e < l; e++) {
+ const t = n[o + (e << 2)],
+ a = n[c + (e << 2)][0];
+ if (f + a.width > 1e3) {
+ h = Math.max(h, f);
+ g += d + 2;
+ f = 0;
+ d = 0;
+ }
+ u.push({transform: t, x: f, y: g, w: a.width, h: a.height});
+ f += a.width + 2;
+ d = Math.max(d, a.height);
+ }
+ const p = Math.max(h, f) + 1,
+ m = g + d + 1,
+ b = new Uint8Array(p * m * 4),
+ y = p << 2;
+ for (let e = 0; e < l; e++) {
+ const t = n[c + (e << 2)][0].data,
+ a = u[e].w << 2;
+ let r = 0,
+ i = (u[e].x + u[e].y * p) << 2;
+ b.set(t.subarray(0, a), i - y);
+ for (let n = 0, s = u[e].h; n < s; n++) {
+ b.set(t.subarray(r, r + a), i);
+ r += a;
+ i += y;
+ }
+ b.set(t.subarray(r - a, r), i);
+ for (; i >= 0; ) {
+ t[i - 4] = t[i];
+ t[i - 3] = t[i + 1];
+ t[i - 2] = t[i + 2];
+ t[i - 1] = t[i + 3];
+ t[i + a] = t[i + a - 4];
+ t[i + a + 1] = t[i + a - 3];
+ t[i + a + 2] = t[i + a - 2];
+ t[i + a + 3] = t[i + a - 1];
+ i -= y;
+ }
+ }
+ a.splice(s, 4 * l, r.OPS.paintInlineImageXObjectGroup);
+ n.splice(s, 4 * l, [{width: p, height: m, kind: r.ImageKind.RGBA_32BPP, data: b}, u]);
+ return s + 1;
+ }
+ );
+ addState(
+ n,
+ [r.OPS.save, r.OPS.transform, r.OPS.paintImageMaskXObject, r.OPS.restore],
+ null,
+ function iterateImageMaskGroup(e, t) {
+ const a = e.fnArray,
+ n = (t - (e.iCurr - 3)) % 4;
+ switch (n) {
+ case 0:
+ return a[t] === r.OPS.save;
+ case 1:
+ return a[t] === r.OPS.transform;
+ case 2:
+ return a[t] === r.OPS.paintImageMaskXObject;
+ case 3:
+ return a[t] === r.OPS.restore;
+ }
+ throw new Error(`iterateImageMaskGroup - invalid pos: ${n}`);
+ },
+ function foundImageMaskGroup(e, t) {
+ const a = e.fnArray,
+ n = e.argsArray,
+ i = e.iCurr,
+ s = i - 3,
+ o = i - 2,
+ c = i - 1;
+ let l = Math.floor((t - s) / 4);
+ if (l < 10) return t - ((t - s) % 4);
+ let h,
+ u,
+ d = !1;
+ const f = n[c][0],
+ g = n[o][0],
+ p = n[o][1],
+ m = n[o][2],
+ b = n[o][3];
+ if (p === m) {
+ d = !0;
+ h = o + 4;
+ let e = c + 4;
+ for (let t = 1; t < l; t++, h += 4, e += 4) {
+ u = n[h];
+ if (n[e][0] !== f || u[0] !== g || u[1] !== p || u[2] !== m || u[3] !== b) {
+ t < 10 ? (d = !1) : (l = t);
+ break;
+ }
+ }
+ }
+ if (d) {
+ l = Math.min(l, 1e3);
+ const e = new Float32Array(2 * l);
+ h = o;
+ for (let t = 0; t < l; t++, h += 4) {
+ u = n[h];
+ e[t << 1] = u[4];
+ e[1 + (t << 1)] = u[5];
+ }
+ a.splice(s, 4 * l, r.OPS.paintImageMaskXObjectRepeat);
+ n.splice(s, 4 * l, [f, g, p, m, b, e]);
+ } else {
+ l = Math.min(l, 100);
+ const e = [];
+ for (let t = 0; t < l; t++) {
+ u = n[o + (t << 2)];
+ const a = n[c + (t << 2)][0];
+ e.push({
+ data: a.data,
+ width: a.width,
+ height: a.height,
+ interpolate: a.interpolate,
+ count: a.count,
+ transform: u,
+ });
+ }
+ a.splice(s, 4 * l, r.OPS.paintImageMaskXObjectGroup);
+ n.splice(s, 4 * l, [e]);
+ }
+ return s + 1;
+ }
+ );
+ addState(
+ n,
+ [r.OPS.save, r.OPS.transform, r.OPS.paintImageXObject, r.OPS.restore],
+ function (e) {
+ const t = e.argsArray,
+ a = e.iCurr - 2;
+ return 0 === t[a][1] && 0 === t[a][2];
+ },
+ function iterateImageGroup(e, t) {
+ const a = e.fnArray,
+ n = e.argsArray,
+ i = (t - (e.iCurr - 3)) % 4;
+ switch (i) {
+ case 0:
+ return a[t] === r.OPS.save;
+ case 1:
+ if (a[t] !== r.OPS.transform) return !1;
+ const i = e.iCurr - 2,
+ s = n[i][0],
+ o = n[i][3];
+ return n[t][0] === s && 0 === n[t][1] && 0 === n[t][2] && n[t][3] === o;
+ case 2:
+ if (a[t] !== r.OPS.paintImageXObject) return !1;
+ const c = n[e.iCurr - 1][0];
+ return n[t][0] === c;
+ case 3:
+ return a[t] === r.OPS.restore;
+ }
+ throw new Error(`iterateImageGroup - invalid pos: ${i}`);
+ },
+ function (e, t) {
+ const a = e.fnArray,
+ n = e.argsArray,
+ i = e.iCurr,
+ s = i - 3,
+ o = i - 2,
+ c = n[i - 1][0],
+ l = n[o][0],
+ h = n[o][3],
+ u = Math.min(Math.floor((t - s) / 4), 1e3);
+ if (u < 3) return t - ((t - s) % 4);
+ const d = new Float32Array(2 * u);
+ let f = o;
+ for (let e = 0; e < u; e++, f += 4) {
+ const t = n[f];
+ d[e << 1] = t[4];
+ d[1 + (e << 1)] = t[5];
+ }
+ const g = [c, l, h, d];
+ a.splice(s, 4 * u, r.OPS.paintImageXObjectRepeat);
+ n.splice(s, 4 * u, g);
+ return s + 1;
+ }
+ );
+ addState(
+ n,
+ [r.OPS.beginText, r.OPS.setFont, r.OPS.setTextMatrix, r.OPS.showText, r.OPS.endText],
+ null,
+ function iterateShowTextGroup(e, t) {
+ const a = e.fnArray,
+ n = e.argsArray,
+ i = (t - (e.iCurr - 4)) % 5;
+ switch (i) {
+ case 0:
+ return a[t] === r.OPS.beginText;
+ case 1:
+ return a[t] === r.OPS.setFont;
+ case 2:
+ return a[t] === r.OPS.setTextMatrix;
+ case 3:
+ if (a[t] !== r.OPS.showText) return !1;
+ const i = e.iCurr - 3,
+ s = n[i][0],
+ o = n[i][1];
+ return n[t][0] === s && n[t][1] === o;
+ case 4:
+ return a[t] === r.OPS.endText;
+ }
+ throw new Error(`iterateShowTextGroup - invalid pos: ${i}`);
+ },
+ function (e, t) {
+ const a = e.fnArray,
+ r = e.argsArray,
+ n = e.iCurr,
+ i = n - 4,
+ s = n - 3,
+ o = n - 2,
+ c = n - 1,
+ l = n,
+ h = r[s][0],
+ u = r[s][1];
+ let d = Math.min(Math.floor((t - i) / 5), 1e3);
+ if (d < 3) return t - ((t - i) % 5);
+ let f = i;
+ if (
+ i >= 4 &&
+ a[i - 4] === a[s] &&
+ a[i - 3] === a[o] &&
+ a[i - 2] === a[c] &&
+ a[i - 1] === a[l] &&
+ r[i - 4][0] === h &&
+ r[i - 4][1] === u
+ ) {
+ d++;
+ f -= 5;
+ }
+ let g = f + 4;
+ for (let e = 1; e < d; e++) {
+ a.splice(g, 3);
+ r.splice(g, 3);
+ g += 2;
+ }
+ return g + 1;
+ }
+ );
+ class NullOptimizer {
+ constructor(e) {
+ this.queue = e;
+ }
+ _optimize() {}
+ push(e, t) {
+ this.queue.fnArray.push(e);
+ this.queue.argsArray.push(t);
+ this._optimize();
+ }
+ flush() {}
+ reset() {}
+ }
+ class QueueOptimizer extends NullOptimizer {
+ constructor(e) {
+ super(e);
+ this.state = null;
+ this.context = {iCurr: 0, fnArray: e.fnArray, argsArray: e.argsArray};
+ this.match = null;
+ this.lastProcessed = 0;
+ }
+ _optimize() {
+ const e = this.queue.fnArray;
+ let t = this.lastProcessed,
+ a = e.length,
+ r = this.state,
+ i = this.match;
+ if (!r && !i && t + 1 === a && !n[e[t]]) {
+ this.lastProcessed = a;
+ return;
+ }
+ const s = this.context;
+ for (; t < a; ) {
+ if (i) {
+ if ((0, i.iterateFn)(s, t)) {
+ t++;
+ continue;
+ }
+ t = (0, i.processFn)(s, t + 1);
+ a = e.length;
+ i = null;
+ r = null;
+ if (t >= a) break;
+ }
+ r = (r || n)[e[t]];
+ if (r && !Array.isArray(r)) {
+ s.iCurr = t;
+ t++;
+ if (!r.checkFn || (0, r.checkFn)(s)) {
+ i = r;
+ r = null;
+ } else r = null;
+ } else t++;
+ }
+ this.state = r;
+ this.match = i;
+ this.lastProcessed = t;
+ }
+ flush() {
+ for (; this.match; ) {
+ const e = this.queue.fnArray.length;
+ this.lastProcessed = (0, this.match.processFn)(this.context, e);
+ this.match = null;
+ this.state = null;
+ this._optimize();
+ }
+ }
+ reset() {
+ this.state = null;
+ this.match = null;
+ this.lastProcessed = 0;
+ }
+ }
+ class OperatorList {
+ static get CHUNK_SIZE() {
+ return (0, r.shadow)(this, 'CHUNK_SIZE', 1e3);
+ }
+ static get CHUNK_SIZE_ABOUT() {
+ return (0, r.shadow)(this, 'CHUNK_SIZE_ABOUT', this.CHUNK_SIZE - 5);
+ }
+ constructor(e = 0, t) {
+ this._streamSink = t;
+ this.fnArray = [];
+ this.argsArray = [];
+ !t || e & r.RenderingIntentFlag.OPLIST
+ ? (this.optimizer = new NullOptimizer(this))
+ : (this.optimizer = new QueueOptimizer(this));
+ this.dependencies = new Set();
+ this._totalLength = 0;
+ this.weight = 0;
+ this._resolved = t ? null : Promise.resolve();
+ }
+ get length() {
+ return this.argsArray.length;
+ }
+ get ready() {
+ return this._resolved || this._streamSink.ready;
+ }
+ get totalLength() {
+ return this._totalLength + this.length;
+ }
+ addOp(e, t) {
+ this.optimizer.push(e, t);
+ this.weight++;
+ this._streamSink &&
+ (this.weight >= OperatorList.CHUNK_SIZE ||
+ (this.weight >= OperatorList.CHUNK_SIZE_ABOUT && (e === r.OPS.restore || e === r.OPS.endText))) &&
+ this.flush();
+ }
+ addImageOps(e, t, a) {
+ void 0 !== a && this.addOp(r.OPS.beginMarkedContentProps, ['OC', a]);
+ this.addOp(e, t);
+ void 0 !== a && this.addOp(r.OPS.endMarkedContent, []);
+ }
+ addDependency(e) {
+ if (!this.dependencies.has(e)) {
+ this.dependencies.add(e);
+ this.addOp(r.OPS.dependency, [e]);
+ }
+ }
+ addDependencies(e) {
+ for (const t of e) this.addDependency(t);
+ }
+ addOpList(e) {
+ if (e instanceof OperatorList) {
+ for (const t of e.dependencies) this.dependencies.add(t);
+ for (let t = 0, a = e.length; t < a; t++) this.addOp(e.fnArray[t], e.argsArray[t]);
+ } else (0, r.warn)('addOpList - ignoring invalid "opList" parameter.');
+ }
+ getIR() {
+ return {fnArray: this.fnArray, argsArray: this.argsArray, length: this.length};
+ }
+ get _transfers() {
+ const e = [],
+ {fnArray: t, argsArray: a, length: n} = this;
+ for (let i = 0; i < n; i++)
+ switch (t[i]) {
+ case r.OPS.paintInlineImageXObject:
+ case r.OPS.paintInlineImageXObjectGroup:
+ case r.OPS.paintImageMaskXObject:
+ const t = a[i][0];
+ !t.cached && t.data && t.data.buffer instanceof ArrayBuffer && e.push(t.data.buffer);
+ }
+ return e;
+ }
+ flush(e = !1, t = null) {
+ this.optimizer.flush();
+ const a = this.length;
+ this._totalLength += a;
+ this._streamSink.enqueue(
+ {fnArray: this.fnArray, argsArray: this.argsArray, lastChunk: e, separateAnnots: t, length: a},
+ 1,
+ this._transfers
+ );
+ this.dependencies.clear();
+ this.fnArray.length = 0;
+ this.argsArray.length = 0;
+ this.weight = 0;
+ this.optimizer.reset();
+ }
+ }
+ t.OperatorList = OperatorList;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.PDFImage = void 0;
+ var r = a(2),
+ n = a(64),
+ i = a(7),
+ s = a(14),
+ o = a(19),
+ c = a(27),
+ l = a(30),
+ h = a(5);
+ function decodeAndClamp(e, t, a, r) {
+ (e = t + e * a) < 0 ? (e = 0) : e > r && (e = r);
+ return e;
+ }
+ function resizeImageMask(e, t, a, r, n, i) {
+ const s = n * i;
+ let o;
+ o = t <= 8 ? new Uint8Array(s) : t <= 16 ? new Uint16Array(s) : new Uint32Array(s);
+ const c = a / n,
+ l = r / i;
+ let h,
+ u,
+ d,
+ f,
+ g = 0;
+ const p = new Uint16Array(n),
+ m = a;
+ for (h = 0; h < n; h++) p[h] = Math.floor(h * c);
+ for (h = 0; h < i; h++) {
+ d = Math.floor(h * l) * m;
+ for (u = 0; u < n; u++) {
+ f = d + p[u];
+ o[g++] = e[f];
+ }
+ }
+ return o;
+ }
+ class PDFImage {
+ constructor({
+ xref: e,
+ res: t,
+ image: a,
+ isInline: n = !1,
+ smask: o = null,
+ mask: c = null,
+ isMask: u = !1,
+ pdfFunctionFactory: d,
+ localColorSpaceCache: f,
+ }) {
+ this.image = a;
+ const g = a.dict,
+ p = g.get('F', 'Filter');
+ let m;
+ if (p instanceof h.Name) m = p.name;
+ else if (Array.isArray(p)) {
+ const t = e.fetchIfRef(p[0]);
+ t instanceof h.Name && (m = t.name);
+ }
+ switch (m) {
+ case 'JPXDecode':
+ const e = new l.JpxImage();
+ e.parseImageProperties(a.stream);
+ a.stream.reset();
+ a.width = e.width;
+ a.height = e.height;
+ a.bitsPerComponent = e.bitsPerComponent;
+ a.numComps = e.componentsCount;
+ break;
+ case 'JBIG2Decode':
+ a.bitsPerComponent = 1;
+ a.numComps = 1;
+ }
+ let b = g.get('W', 'Width'),
+ y = g.get('H', 'Height');
+ if (
+ Number.isInteger(a.width) &&
+ a.width > 0 &&
+ Number.isInteger(a.height) &&
+ a.height > 0 &&
+ (a.width !== b || a.height !== y)
+ ) {
+ (0, r.warn)('PDFImage - using the Width/Height of the image data, rather than the image dictionary.');
+ b = a.width;
+ y = a.height;
+ }
+ if (b < 1 || y < 1) throw new r.FormatError(`Invalid image width: ${b} or height: ${y}`);
+ this.width = b;
+ this.height = y;
+ this.interpolate = g.get('I', 'Interpolate');
+ this.imageMask = g.get('IM', 'ImageMask') || !1;
+ this.matte = g.get('Matte') || !1;
+ let w = a.bitsPerComponent;
+ if (!w) {
+ w = g.get('BPC', 'BitsPerComponent');
+ if (!w) {
+ if (!this.imageMask)
+ throw new r.FormatError(`Bits per component missing in image: ${this.imageMask}`);
+ w = 1;
+ }
+ }
+ this.bpc = w;
+ if (!this.imageMask) {
+ let i = g.getRaw('CS') || g.getRaw('ColorSpace');
+ if (!i) {
+ (0, r.info)('JPX images (which do not require color spaces)');
+ switch (a.numComps) {
+ case 1:
+ i = h.Name.get('DeviceGray');
+ break;
+ case 3:
+ i = h.Name.get('DeviceRGB');
+ break;
+ case 4:
+ i = h.Name.get('DeviceCMYK');
+ break;
+ default:
+ throw new Error(`JPX images with ${a.numComps} color components not supported.`);
+ }
+ }
+ this.colorSpace = s.ColorSpace.parse({
+ cs: i,
+ xref: e,
+ resources: n ? t : null,
+ pdfFunctionFactory: d,
+ localColorSpaceCache: f,
+ });
+ this.numComps = this.colorSpace.numComps;
+ }
+ this.decode = g.getArray('D', 'Decode');
+ this.needsDecode = !1;
+ if (
+ this.decode &&
+ ((this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, w)) ||
+ (u && !s.ColorSpace.isDefaultDecode(this.decode, 1)))
+ ) {
+ this.needsDecode = !0;
+ const e = (1 << w) - 1;
+ this.decodeCoefficients = [];
+ this.decodeAddends = [];
+ const t = this.colorSpace && 'Indexed' === this.colorSpace.name;
+ for (let a = 0, r = 0; a < this.decode.length; a += 2, ++r) {
+ const n = this.decode[a],
+ i = this.decode[a + 1];
+ this.decodeCoefficients[r] = t ? (i - n) / e : i - n;
+ this.decodeAddends[r] = t ? n : e * n;
+ }
+ }
+ if (o)
+ this.smask = new PDFImage({
+ xref: e,
+ res: t,
+ image: o,
+ isInline: n,
+ pdfFunctionFactory: d,
+ localColorSpaceCache: f,
+ });
+ else if (c)
+ if (c instanceof i.BaseStream) {
+ c.dict.get('IM', 'ImageMask')
+ ? (this.mask = new PDFImage({
+ xref: e,
+ res: t,
+ image: c,
+ isInline: n,
+ isMask: !0,
+ pdfFunctionFactory: d,
+ localColorSpaceCache: f,
+ }))
+ : (0, r.warn)('Ignoring /Mask in image without /ImageMask.');
+ } else this.mask = c;
+ }
+ static async buildImage({
+ xref: e,
+ res: t,
+ image: a,
+ isInline: n = !1,
+ pdfFunctionFactory: s,
+ localColorSpaceCache: o,
+ }) {
+ const c = a;
+ let l = null,
+ h = null;
+ const u = a.dict.get('SMask'),
+ d = a.dict.get('Mask');
+ u
+ ? u instanceof i.BaseStream
+ ? (l = u)
+ : (0, r.warn)('Unsupported /SMask format.')
+ : d &&
+ (d instanceof i.BaseStream || Array.isArray(d) ? (h = d) : (0, r.warn)('Unsupported /Mask format.'));
+ return new PDFImage({
+ xref: e,
+ res: t,
+ image: c,
+ isInline: n,
+ smask: l,
+ mask: h,
+ pdfFunctionFactory: s,
+ localColorSpaceCache: o,
+ });
+ }
+ static createRawMask({
+ imgArray: e,
+ width: t,
+ height: a,
+ imageIsFromDecodeStream: r,
+ inverseDecode: n,
+ interpolate: i,
+ }) {
+ const s = ((t + 7) >> 3) * a,
+ o = e.byteLength;
+ let c, l;
+ if (!r || (n && !(s === o)))
+ if (n) {
+ c = new Uint8Array(s);
+ c.set(e);
+ c.fill(255, o);
+ } else c = new Uint8Array(e);
+ else c = e;
+ if (n) for (l = 0; l < o; l++) c[l] ^= 255;
+ return {data: c, width: t, height: a, interpolate: i};
+ }
+ static createMask({
+ imgArray: e,
+ width: t,
+ height: a,
+ imageIsFromDecodeStream: i,
+ inverseDecode: s,
+ interpolate: o,
+ }) {
+ const c = 1 === t && 1 === a && s === (0 === e.length || !!(128 & e[0]));
+ if (c) return {isSingleOpaquePixel: c};
+ if (r.FeatureTest.isOffscreenCanvasSupported) {
+ const r = new OffscreenCanvas(t, a),
+ i = r.getContext('2d'),
+ c = i.createImageData(t, a);
+ (0, n.applyMaskImageData)({src: e, dest: c.data, width: t, height: a, inverseDecode: s});
+ i.putImageData(c, 0, 0);
+ return {data: null, width: t, height: a, interpolate: o, bitmap: r.transferToImageBitmap()};
+ }
+ return this.createRawMask({
+ imgArray: e,
+ width: t,
+ height: a,
+ inverseDecode: s,
+ imageIsFromDecodeStream: i,
+ interpolate: o,
+ });
+ }
+ get drawWidth() {
+ return Math.max(this.width, (this.smask && this.smask.width) || 0, (this.mask && this.mask.width) || 0);
+ }
+ get drawHeight() {
+ return Math.max(
+ this.height,
+ (this.smask && this.smask.height) || 0,
+ (this.mask && this.mask.height) || 0
+ );
+ }
+ decodeBuffer(e) {
+ const t = this.bpc,
+ a = this.numComps,
+ r = this.decodeAddends,
+ n = this.decodeCoefficients,
+ i = (1 << t) - 1;
+ let s, o;
+ if (1 === t) {
+ for (s = 0, o = e.length; s < o; s++) e[s] = +!e[s];
+ return;
+ }
+ let c = 0;
+ for (s = 0, o = this.width * this.height; s < o; s++)
+ for (let t = 0; t < a; t++) {
+ e[c] = decodeAndClamp(e[c], r[t], n[t], i);
+ c++;
+ }
+ }
+ getComponents(e) {
+ const t = this.bpc;
+ if (8 === t) return e;
+ const a = this.width,
+ r = this.height,
+ n = this.numComps,
+ i = a * r * n;
+ let s,
+ o = 0;
+ s = t <= 8 ? new Uint8Array(i) : t <= 16 ? new Uint16Array(i) : new Uint32Array(i);
+ const c = a * n,
+ l = (1 << t) - 1;
+ let h,
+ u,
+ d = 0;
+ if (1 === t) {
+ let t, a, n;
+ for (let i = 0; i < r; i++) {
+ a = d + (-8 & c);
+ n = d + c;
+ for (; d < a; ) {
+ u = e[o++];
+ s[d] = (u >> 7) & 1;
+ s[d + 1] = (u >> 6) & 1;
+ s[d + 2] = (u >> 5) & 1;
+ s[d + 3] = (u >> 4) & 1;
+ s[d + 4] = (u >> 3) & 1;
+ s[d + 5] = (u >> 2) & 1;
+ s[d + 6] = (u >> 1) & 1;
+ s[d + 7] = 1 & u;
+ d += 8;
+ }
+ if (d < n) {
+ u = e[o++];
+ t = 128;
+ for (; d < n; ) {
+ s[d++] = +!!(u & t);
+ t >>= 1;
+ }
+ }
+ }
+ } else {
+ let a = 0;
+ u = 0;
+ for (d = 0, h = i; d < h; ++d) {
+ if (d % c == 0) {
+ u = 0;
+ a = 0;
+ }
+ for (; a < t; ) {
+ u = (u << 8) | e[o++];
+ a += 8;
+ }
+ const r = a - t;
+ let n = u >> r;
+ n < 0 ? (n = 0) : n > l && (n = l);
+ s[d] = n;
+ u &= (1 << r) - 1;
+ a = r;
+ }
+ }
+ return s;
+ }
+ fillOpacity(e, t, a, n, i) {
+ const s = this.smask,
+ o = this.mask;
+ let c, l, h, u, d, f;
+ if (s) {
+ l = s.width;
+ h = s.height;
+ c = new Uint8ClampedArray(l * h);
+ s.fillGrayBuffer(c);
+ (l === t && h === a) || (c = resizeImageMask(c, s.bpc, l, h, t, a));
+ } else if (o)
+ if (o instanceof PDFImage) {
+ l = o.width;
+ h = o.height;
+ c = new Uint8ClampedArray(l * h);
+ o.numComps = 1;
+ o.fillGrayBuffer(c);
+ for (u = 0, d = l * h; u < d; ++u) c[u] = 255 - c[u];
+ (l === t && h === a) || (c = resizeImageMask(c, o.bpc, l, h, t, a));
+ } else {
+ if (!Array.isArray(o)) throw new r.FormatError('Unknown mask format.');
+ {
+ c = new Uint8ClampedArray(t * a);
+ const e = this.numComps;
+ for (u = 0, d = t * a; u < d; ++u) {
+ let t = 0;
+ const a = u * e;
+ for (f = 0; f < e; ++f) {
+ const e = i[a + f],
+ r = 2 * f;
+ if (e < o[r] || e > o[r + 1]) {
+ t = 255;
+ break;
+ }
+ }
+ c[u] = t;
+ }
+ }
+ }
+ if (c) for (u = 0, f = 3, d = t * n; u < d; ++u, f += 4) e[f] = c[u];
+ else for (u = 0, f = 3, d = t * n; u < d; ++u, f += 4) e[f] = 255;
+ }
+ undoPreblend(e, t, a) {
+ const r = this.smask && this.smask.matte;
+ if (!r) return;
+ const n = this.colorSpace.getRgb(r, 0),
+ i = n[0],
+ s = n[1],
+ o = n[2],
+ c = t * a * 4;
+ for (let t = 0; t < c; t += 4) {
+ const a = e[t + 3];
+ if (0 === a) {
+ e[t] = 255;
+ e[t + 1] = 255;
+ e[t + 2] = 255;
+ continue;
+ }
+ const r = 255 / a;
+ e[t] = (e[t] - i) * r + i;
+ e[t + 1] = (e[t + 1] - s) * r + s;
+ e[t + 2] = (e[t + 2] - o) * r + o;
+ }
+ }
+ createImageData(e = !1) {
+ const t = this.drawWidth,
+ a = this.drawHeight,
+ n = {width: t, height: a, interpolate: this.interpolate, kind: 0, data: null},
+ i = this.numComps,
+ s = this.width,
+ o = this.height,
+ l = this.bpc,
+ h = (s * i * l + 7) >> 3;
+ if (!e) {
+ let e;
+ 'DeviceGray' === this.colorSpace.name && 1 === l
+ ? (e = r.ImageKind.GRAYSCALE_1BPP)
+ : 'DeviceRGB' !== this.colorSpace.name || 8 !== l || this.needsDecode || (e = r.ImageKind.RGB_24BPP);
+ if (e && !this.smask && !this.mask && t === s && a === o) {
+ n.kind = e;
+ n.data = this.getImageBytes(o * h, {});
+ if (this.needsDecode) {
+ (0, r.assert)(
+ e === r.ImageKind.GRAYSCALE_1BPP,
+ 'PDFImage.createImageData: The image must be grayscale.'
+ );
+ const t = n.data;
+ for (let e = 0, a = t.length; e < a; e++) t[e] ^= 255;
+ }
+ return n;
+ }
+ if (this.image instanceof c.JpegStream && !this.smask && !this.mask) {
+ let e = o * h;
+ switch (this.colorSpace.name) {
+ case 'DeviceGray':
+ e *= 3;
+ case 'DeviceRGB':
+ case 'DeviceCMYK':
+ n.kind = r.ImageKind.RGB_24BPP;
+ n.data = this.getImageBytes(e, {drawWidth: t, drawHeight: a, forceRGB: !0});
+ return n;
+ }
+ }
+ }
+ const u = this.getImageBytes(o * h, {internal: !0}),
+ d = 0 | (((u.length / h) * a) / o),
+ f = this.getComponents(u);
+ let g, p;
+ if (e || this.smask || this.mask) {
+ n.kind = r.ImageKind.RGBA_32BPP;
+ n.data = new Uint8ClampedArray(t * a * 4);
+ g = 1;
+ p = !0;
+ this.fillOpacity(n.data, t, a, d, f);
+ } else {
+ n.kind = r.ImageKind.RGB_24BPP;
+ n.data = new Uint8ClampedArray(t * a * 3);
+ g = 0;
+ p = !1;
+ }
+ this.needsDecode && this.decodeBuffer(f);
+ this.colorSpace.fillRgb(n.data, s, o, t, a, d, l, f, g);
+ p && this.undoPreblend(n.data, t, d);
+ return n;
+ }
+ fillGrayBuffer(e) {
+ const t = this.numComps;
+ if (1 !== t) throw new r.FormatError(`Reading gray scale from a color image: ${t}`);
+ const a = this.width,
+ n = this.height,
+ i = this.bpc,
+ s = (a * t * i + 7) >> 3,
+ o = this.getImageBytes(n * s, {internal: !0}),
+ c = this.getComponents(o);
+ let l, h;
+ if (1 === i) {
+ h = a * n;
+ if (this.needsDecode) for (l = 0; l < h; ++l) e[l] = (c[l] - 1) & 255;
+ else for (l = 0; l < h; ++l) e[l] = 255 & -c[l];
+ return;
+ }
+ this.needsDecode && this.decodeBuffer(c);
+ h = a * n;
+ const u = 255 / ((1 << i) - 1);
+ for (l = 0; l < h; ++l) e[l] = u * c[l];
+ }
+ getImageBytes(e, {drawWidth: t, drawHeight: a, forceRGB: n = !1, internal: i = !1}) {
+ this.image.reset();
+ this.image.drawWidth = t || this.width;
+ this.image.drawHeight = a || this.height;
+ this.image.forceRGB = !!n;
+ const s = this.image.getBytes(e);
+ if (i || this.image instanceof o.DecodeStream) return s;
+ (0, r.assert)(s instanceof Uint8Array, 'PDFImage.getImageBytes: Unsupported "imageBytes" type.');
+ return new Uint8Array(s);
+ }
+ }
+ t.PDFImage = PDFImage;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.applyMaskImageData = function applyMaskImageData({
+ src: e,
+ srcPos: t = 0,
+ dest: a,
+ destPos: n = 0,
+ width: i,
+ height: s,
+ inverseDecode: o = !1,
+ }) {
+ const c = r.FeatureTest.isLittleEndian ? 4278190080 : 255,
+ [l, h] = o ? [0, c] : [c, 0],
+ u = i >> 3,
+ d = 7 & i,
+ f = e.length;
+ a = new Uint32Array(a.buffer);
+ for (let r = 0; r < s; r++) {
+ for (const r = t + u; t < r; t++) {
+ const r = t < f ? e[t] : 255;
+ a[n++] = 128 & r ? h : l;
+ a[n++] = 64 & r ? h : l;
+ a[n++] = 32 & r ? h : l;
+ a[n++] = 16 & r ? h : l;
+ a[n++] = 8 & r ? h : l;
+ a[n++] = 4 & r ? h : l;
+ a[n++] = 2 & r ? h : l;
+ a[n++] = 1 & r ? h : l;
+ }
+ if (0 === d) continue;
+ const r = t < f ? e[t++] : 255;
+ for (let e = 0; e < d; e++) a[n++] = r & (1 << (7 - e)) ? h : l;
+ }
+ return {srcPos: t, destPos: n};
+ };
+ var r = a(2);
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.incrementalUpdate = function incrementalUpdate({
+ originalData: e,
+ xrefInfo: t,
+ newRefs: a,
+ xref: o = null,
+ hasXfa: l = !1,
+ xfaDatasetsRef: h = null,
+ hasXfaDatasetsEntry: u = !1,
+ acroFormRef: d = null,
+ acroForm: f = null,
+ xfaData: g = null,
+ }) {
+ l &&
+ (function updateXFA({
+ xfaData: e,
+ xfaDatasetsRef: t,
+ hasXfaDatasetsEntry: a,
+ acroFormRef: n,
+ acroForm: o,
+ newRefs: c,
+ xref: l,
+ xrefInfo: h,
+ }) {
+ if (null === l) return;
+ if (!a) {
+ if (!n) {
+ (0, r.warn)('XFA - Cannot save it');
+ return;
+ }
+ const e = o.get('XFA'),
+ a = e.slice();
+ a.splice(2, 0, 'datasets');
+ a.splice(3, 0, t);
+ o.set('XFA', a);
+ const i = l.encrypt;
+ let s = null;
+ i && (s = i.createCipherTransform(n.num, n.gen));
+ const h = [`${n.num} ${n.gen} obj\n`];
+ writeDict(o, h, s);
+ h.push('\n');
+ o.set('XFA', e);
+ c.push({ref: n, data: h.join('')});
+ }
+ if (null === e) {
+ e = (function writeXFADataForAcroform(e, t) {
+ const a = new s.SimpleXMLParser({hasAttributes: !0}).parseFromString(e);
+ for (const {xfa: e} of t) {
+ if (!e) continue;
+ const {path: t, value: n} = e;
+ if (!t) continue;
+ const o = a.documentElement.searchNode((0, i.parseXFAPath)(t), 0);
+ o
+ ? Array.isArray(n)
+ ? (o.childNodes = n.map((e) => new s.SimpleDOMNode('value', e)))
+ : (o.childNodes = [new s.SimpleDOMNode('#text', n)])
+ : (0, r.warn)(`Node not found for path: ${t}`);
+ }
+ const n = [];
+ a.documentElement.dump(n);
+ return n.join('');
+ })(l.fetchIfRef(t).getString(), c);
+ }
+ const u = l.encrypt;
+ if (u) {
+ e = u.createCipherTransform(t.num, t.gen).encryptString(e);
+ }
+ const d =
+ `${t.num} ${t.gen} obj\n<< /Type /EmbeddedFile /Length ${e.length}>>\nstream\n` +
+ e +
+ '\nendstream\nendobj\n';
+ c.push({ref: t, data: d});
+ })({
+ xfaData: g,
+ xfaDatasetsRef: h,
+ hasXfaDatasetsEntry: u,
+ acroFormRef: d,
+ acroForm: f,
+ newRefs: a,
+ xref: o,
+ xrefInfo: t,
+ });
+ const p = new n.Dict(null),
+ m = t.newRef;
+ let b, y;
+ const w = e.at(-1);
+ if (10 === w || 13 === w) {
+ b = [];
+ y = e.length;
+ } else {
+ b = ['\n'];
+ y = e.length + 1;
+ }
+ p.set('Size', m.num + 1);
+ p.set('Prev', t.startXRef);
+ p.set('Type', n.Name.get('XRef'));
+ null !== t.rootRef && p.set('Root', t.rootRef);
+ null !== t.infoRef && p.set('Info', t.infoRef);
+ null !== t.encryptRef && p.set('Encrypt', t.encryptRef);
+ a.push({ref: m, data: ''});
+ a = a.sort((e, t) => e.ref.num - t.ref.num);
+ const S = [[0, 1, 65535]],
+ x = [0, 1];
+ let k = 0;
+ for (const {ref: e, data: t} of a) {
+ k = Math.max(k, y);
+ S.push([1, y, Math.min(e.gen, 65535)]);
+ y += t.length;
+ x.push(e.num, 1);
+ b.push(t);
+ }
+ p.set('Index', x);
+ if (Array.isArray(t.fileIds) && t.fileIds.length > 0) {
+ const e = (function computeMD5(e, t) {
+ const a = Math.floor(Date.now() / 1e3),
+ n = t.filename || '',
+ i = [a.toString(), n, e.toString()];
+ let s = i.reduce((e, t) => e + t.length, 0);
+ for (const e of Object.values(t.info)) {
+ i.push(e);
+ s += e.length;
+ }
+ const o = new Uint8Array(s);
+ let l = 0;
+ for (const e of i) {
+ writeString(e, l, o);
+ l += e.length;
+ }
+ return (0, r.bytesToString)((0, c.calculateMD5)(o));
+ })(y, t);
+ p.set('ID', [t.fileIds[0], e]);
+ }
+ const C = [1, Math.ceil(Math.log2(k) / 8), 2],
+ v = (C[0] + C[1] + C[2]) * S.length;
+ p.set('W', C);
+ p.set('Length', v);
+ b.push(`${m.num} ${m.gen} obj\n`);
+ writeDict(p, b, null);
+ b.push(' stream\n');
+ const F = b.reduce((e, t) => e + t.length, 0),
+ O = `\nendstream\nendobj\nstartxref\n${y}\n%%EOF\n`,
+ T = new Uint8Array(e.length + F + v + O.length);
+ T.set(e);
+ let M = e.length;
+ for (const e of b) {
+ writeString(e, M, T);
+ M += e.length;
+ }
+ for (const [e, t, a] of S) {
+ M = writeInt(e, C[0], M, T);
+ M = writeInt(t, C[1], M, T);
+ M = writeInt(a, C[2], M, T);
+ }
+ writeString(O, M, T);
+ return T;
+ };
+ t.writeDict = writeDict;
+ t.writeObject = function writeObject(e, t, a, r) {
+ a.push(`${e.num} ${e.gen} obj\n`);
+ t instanceof n.Dict ? writeDict(t, a, r) : t instanceof o.BaseStream && writeStream(t, a, r);
+ a.push('\nendobj\n');
+ };
+ var r = a(2),
+ n = a(5),
+ i = a(6),
+ s = a(66),
+ o = a(7),
+ c = a(67);
+ function writeDict(e, t, a) {
+ t.push('<<');
+ for (const r of e.getKeys()) {
+ t.push(` /${(0, i.escapePDFName)(r)} `);
+ writeValue(e.getRaw(r), t, a);
+ }
+ t.push('>>');
+ }
+ function writeStream(e, t, a) {
+ writeDict(e.dict, t, a);
+ t.push(' stream\n');
+ let r = e.getString();
+ null !== a && (r = a.encryptString(r));
+ t.push(r, '\nendstream\n');
+ }
+ function writeValue(e, t, a) {
+ if (e instanceof n.Name) t.push(`/${(0, i.escapePDFName)(e.name)}`);
+ else if (e instanceof n.Ref) t.push(`${e.num} ${e.gen} R`);
+ else if (Array.isArray(e))
+ !(function writeArray(e, t, a) {
+ t.push('[');
+ let r = !0;
+ for (const n of e) {
+ r ? (r = !1) : t.push(' ');
+ writeValue(n, t, a);
+ }
+ t.push(']');
+ })(e, t, a);
+ else if ('string' == typeof e) {
+ null !== a && (e = a.encryptString(e));
+ t.push(`(${(0, r.escapeString)(e)})`);
+ } else
+ 'number' == typeof e
+ ? t.push((0, i.numberToString)(e))
+ : 'boolean' == typeof e
+ ? t.push(e.toString())
+ : e instanceof n.Dict
+ ? writeDict(e, t, a)
+ : e instanceof o.BaseStream
+ ? writeStream(e, t, a)
+ : null === e
+ ? t.push('null')
+ : (0, r.warn)(`Unhandled value in writer: ${typeof e}, please file a bug.`);
+ }
+ function writeInt(e, t, a, r) {
+ for (let n = t + a - 1; n > a - 1; n--) {
+ r[n] = 255 & e;
+ e >>= 8;
+ }
+ return a + t;
+ }
+ function writeString(e, t, a) {
+ for (let r = 0, n = e.length; r < n; r++) a[t + r] = 255 & e.charCodeAt(r);
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.XMLParserErrorCode = t.XMLParserBase = t.SimpleXMLParser = t.SimpleDOMNode = void 0;
+ var r = a(6);
+ const n = {
+ NoError: 0,
+ EndOfDocument: -1,
+ UnterminatedCdat: -2,
+ UnterminatedXmlDeclaration: -3,
+ UnterminatedDoctypeDeclaration: -4,
+ UnterminatedComment: -5,
+ MalformedElement: -6,
+ OutOfMemory: -7,
+ UnterminatedAttributeValue: -8,
+ UnterminatedElement: -9,
+ ElementNeverBegun: -10,
+ };
+ t.XMLParserErrorCode = n;
+ function isWhitespace(e, t) {
+ const a = e[t];
+ return ' ' === a || '\n' === a || '\r' === a || '\t' === a;
+ }
+ class XMLParserBase {
+ _resolveEntities(e) {
+ return e.replace(/&([^;]+);/g, (e, t) => {
+ if ('#x' === t.substring(0, 2)) return String.fromCodePoint(parseInt(t.substring(2), 16));
+ if ('#' === t.substring(0, 1)) return String.fromCodePoint(parseInt(t.substring(1), 10));
+ switch (t) {
+ case 'lt':
+ return '<';
+ case 'gt':
+ return '>';
+ case 'amp':
+ return '&';
+ case 'quot':
+ return '"';
+ case 'apos':
+ return "'";
+ }
+ return this.onResolveEntity(t);
+ });
+ }
+ _parseContent(e, t) {
+ const a = [];
+ let r = t;
+ function skipWs() {
+ for (; r < e.length && isWhitespace(e, r); ) ++r;
+ }
+ for (; r < e.length && !isWhitespace(e, r) && '>' !== e[r] && '/' !== e[r]; ) ++r;
+ const n = e.substring(t, r);
+ skipWs();
+ for (; r < e.length && '>' !== e[r] && '/' !== e[r] && '?' !== e[r]; ) {
+ skipWs();
+ let t = '',
+ n = '';
+ for (; r < e.length && !isWhitespace(e, r) && '=' !== e[r]; ) {
+ t += e[r];
+ ++r;
+ }
+ skipWs();
+ if ('=' !== e[r]) return null;
+ ++r;
+ skipWs();
+ const i = e[r];
+ if ('"' !== i && "'" !== i) return null;
+ const s = e.indexOf(i, ++r);
+ if (s < 0) return null;
+ n = e.substring(r, s);
+ a.push({name: t, value: this._resolveEntities(n)});
+ r = s + 1;
+ skipWs();
+ }
+ return {name: n, attributes: a, parsed: r - t};
+ }
+ _parseProcessingInstruction(e, t) {
+ let a = t;
+ for (; a < e.length && !isWhitespace(e, a) && '>' !== e[a] && '?' !== e[a] && '/' !== e[a]; ) ++a;
+ const r = e.substring(t, a);
+ !(function skipWs() {
+ for (; a < e.length && isWhitespace(e, a); ) ++a;
+ })();
+ const n = a;
+ for (; a < e.length && ('?' !== e[a] || '>' !== e[a + 1]); ) ++a;
+ return {name: r, value: e.substring(n, a), parsed: a - t};
+ }
+ parseXml(e) {
+ let t = 0;
+ for (; t < e.length; ) {
+ let a = t;
+ if ('<' === e[t]) {
+ ++a;
+ let t;
+ switch (e[a]) {
+ case '/':
+ ++a;
+ t = e.indexOf('>', a);
+ if (t < 0) {
+ this.onError(n.UnterminatedElement);
+ return;
+ }
+ this.onEndElement(e.substring(a, t));
+ a = t + 1;
+ break;
+ case '?':
+ ++a;
+ const r = this._parseProcessingInstruction(e, a);
+ if ('?>' !== e.substring(a + r.parsed, a + r.parsed + 2)) {
+ this.onError(n.UnterminatedXmlDeclaration);
+ return;
+ }
+ this.onPi(r.name, r.value);
+ a += r.parsed + 2;
+ break;
+ case '!':
+ if ('--' === e.substring(a + 1, a + 3)) {
+ t = e.indexOf('--\x3e', a + 3);
+ if (t < 0) {
+ this.onError(n.UnterminatedComment);
+ return;
+ }
+ this.onComment(e.substring(a + 3, t));
+ a = t + 3;
+ } else if ('[CDATA[' === e.substring(a + 1, a + 8)) {
+ t = e.indexOf(']]>', a + 8);
+ if (t < 0) {
+ this.onError(n.UnterminatedCdat);
+ return;
+ }
+ this.onCdata(e.substring(a + 8, t));
+ a = t + 3;
+ } else {
+ if ('DOCTYPE' !== e.substring(a + 1, a + 8)) {
+ this.onError(n.MalformedElement);
+ return;
+ }
+ {
+ const r = e.indexOf('[', a + 8);
+ let i = !1;
+ t = e.indexOf('>', a + 8);
+ if (t < 0) {
+ this.onError(n.UnterminatedDoctypeDeclaration);
+ return;
+ }
+ if (r > 0 && t > r) {
+ t = e.indexOf(']>', a + 8);
+ if (t < 0) {
+ this.onError(n.UnterminatedDoctypeDeclaration);
+ return;
+ }
+ i = !0;
+ }
+ const s = e.substring(a + 8, t + (i ? 1 : 0));
+ this.onDoctype(s);
+ a = t + (i ? 2 : 1);
+ }
+ }
+ break;
+ default:
+ const i = this._parseContent(e, a);
+ if (null === i) {
+ this.onError(n.MalformedElement);
+ return;
+ }
+ let s = !1;
+ if ('/>' === e.substring(a + i.parsed, a + i.parsed + 2)) s = !0;
+ else if ('>' !== e.substring(a + i.parsed, a + i.parsed + 1)) {
+ this.onError(n.UnterminatedElement);
+ return;
+ }
+ this.onBeginElement(i.name, i.attributes, s);
+ a += i.parsed + (s ? 2 : 1);
+ }
+ } else {
+ for (; a < e.length && '<' !== e[a]; ) a++;
+ const r = e.substring(t, a);
+ this.onText(this._resolveEntities(r));
+ }
+ t = a;
+ }
+ }
+ onResolveEntity(e) {
+ return `&${e};`;
+ }
+ onPi(e, t) {}
+ onComment(e) {}
+ onCdata(e) {}
+ onDoctype(e) {}
+ onText(e) {}
+ onBeginElement(e, t, a) {}
+ onEndElement(e) {}
+ onError(e) {}
+ }
+ t.XMLParserBase = XMLParserBase;
+ class SimpleDOMNode {
+ constructor(e, t) {
+ this.nodeName = e;
+ this.nodeValue = t;
+ Object.defineProperty(this, 'parentNode', {value: null, writable: !0});
+ }
+ get firstChild() {
+ return this.childNodes && this.childNodes[0];
+ }
+ get nextSibling() {
+ const e = this.parentNode.childNodes;
+ if (!e) return;
+ const t = e.indexOf(this);
+ return -1 !== t ? e[t + 1] : void 0;
+ }
+ get textContent() {
+ return this.childNodes
+ ? this.childNodes
+ .map(function (e) {
+ return e.textContent;
+ })
+ .join('')
+ : this.nodeValue || '';
+ }
+ get children() {
+ return this.childNodes || [];
+ }
+ hasChildNodes() {
+ return this.childNodes && this.childNodes.length > 0;
+ }
+ searchNode(e, t) {
+ if (t >= e.length) return this;
+ const a = e[t],
+ r = [];
+ let n = this;
+ for (;;) {
+ if (a.name === n.nodeName) {
+ if (0 !== a.pos) {
+ if (0 === r.length) return null;
+ {
+ const [i] = r.pop();
+ let s = 0;
+ for (const r of i.childNodes)
+ if (a.name === r.nodeName) {
+ if (s === a.pos) return r.searchNode(e, t + 1);
+ s++;
+ }
+ return n.searchNode(e, t + 1);
+ }
+ }
+ {
+ const a = n.searchNode(e, t + 1);
+ if (null !== a) return a;
+ }
+ }
+ if (n.childNodes && 0 !== n.childNodes.length) {
+ r.push([n, 0]);
+ n = n.childNodes[0];
+ } else {
+ if (0 === r.length) return null;
+ for (; 0 !== r.length; ) {
+ const [e, t] = r.pop(),
+ a = t + 1;
+ if (a < e.childNodes.length) {
+ r.push([e, a]);
+ n = e.childNodes[a];
+ break;
+ }
+ }
+ if (0 === r.length) return null;
+ }
+ }
+ }
+ dump(e) {
+ if ('#text' !== this.nodeName) {
+ e.push(`<${this.nodeName}`);
+ if (this.attributes)
+ for (const t of this.attributes) e.push(` ${t.name}="${(0, r.encodeToXmlString)(t.value)}"`);
+ if (this.hasChildNodes()) {
+ e.push('>');
+ for (const t of this.childNodes) t.dump(e);
+ e.push(`${this.nodeName}>`);
+ } else
+ this.nodeValue
+ ? e.push(`>${(0, r.encodeToXmlString)(this.nodeValue)}${this.nodeName}>`)
+ : e.push('/>');
+ } else e.push((0, r.encodeToXmlString)(this.nodeValue));
+ }
+ }
+ t.SimpleDOMNode = SimpleDOMNode;
+ t.SimpleXMLParser = class SimpleXMLParser extends XMLParserBase {
+ constructor({hasAttributes: e = !1, lowerCaseName: t = !1}) {
+ super();
+ this._currentFragment = null;
+ this._stack = null;
+ this._errorCode = n.NoError;
+ this._hasAttributes = e;
+ this._lowerCaseName = t;
+ }
+ parseFromString(e) {
+ this._currentFragment = [];
+ this._stack = [];
+ this._errorCode = n.NoError;
+ this.parseXml(e);
+ if (this._errorCode !== n.NoError) return;
+ const [t] = this._currentFragment;
+ return t ? {documentElement: t} : void 0;
+ }
+ onText(e) {
+ if (
+ (function isWhitespaceString(e) {
+ for (let t = 0, a = e.length; t < a; t++) if (!isWhitespace(e, t)) return !1;
+ return !0;
+ })(e)
+ )
+ return;
+ const t = new SimpleDOMNode('#text', e);
+ this._currentFragment.push(t);
+ }
+ onCdata(e) {
+ const t = new SimpleDOMNode('#text', e);
+ this._currentFragment.push(t);
+ }
+ onBeginElement(e, t, a) {
+ this._lowerCaseName && (e = e.toLowerCase());
+ const r = new SimpleDOMNode(e);
+ r.childNodes = [];
+ this._hasAttributes && (r.attributes = t);
+ this._currentFragment.push(r);
+ if (!a) {
+ this._stack.push(this._currentFragment);
+ this._currentFragment = r.childNodes;
+ }
+ }
+ onEndElement(e) {
+ this._currentFragment = this._stack.pop() || [];
+ const t = this._currentFragment.at(-1);
+ if (!t) return null;
+ for (let e = 0, a = t.childNodes.length; e < a; e++) t.childNodes[e].parentNode = t;
+ return t;
+ }
+ onError(e) {
+ this._errorCode = e;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.calculateSHA256 =
+ t.calculateMD5 =
+ t.PDF20 =
+ t.PDF17 =
+ t.CipherTransformFactory =
+ t.ARCFourCipher =
+ t.AES256Cipher =
+ t.AES128Cipher =
+ void 0;
+ t.calculateSHA384 = calculateSHA384;
+ t.calculateSHA512 = void 0;
+ var r = a(2),
+ n = a(5),
+ i = a(68);
+ class ARCFourCipher {
+ constructor(e) {
+ this.a = 0;
+ this.b = 0;
+ const t = new Uint8Array(256),
+ a = e.length;
+ for (let e = 0; e < 256; ++e) t[e] = e;
+ for (let r = 0, n = 0; r < 256; ++r) {
+ const i = t[r];
+ n = (n + i + e[r % a]) & 255;
+ t[r] = t[n];
+ t[n] = i;
+ }
+ this.s = t;
+ }
+ encryptBlock(e) {
+ let t = this.a,
+ a = this.b;
+ const r = this.s,
+ n = e.length,
+ i = new Uint8Array(n);
+ for (let s = 0; s < n; ++s) {
+ t = (t + 1) & 255;
+ const n = r[t];
+ a = (a + n) & 255;
+ const o = r[a];
+ r[t] = o;
+ r[a] = n;
+ i[s] = e[s] ^ r[(n + o) & 255];
+ }
+ this.a = t;
+ this.b = a;
+ return i;
+ }
+ decryptBlock(e) {
+ return this.encryptBlock(e);
+ }
+ encrypt(e) {
+ return this.encryptBlock(e);
+ }
+ }
+ t.ARCFourCipher = ARCFourCipher;
+ const s = (function calculateMD5Closure() {
+ const e = new Uint8Array([
+ 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5,
+ 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6,
+ 10, 15, 21, 6, 10, 15, 21,
+ ]),
+ t = new Int32Array([
+ -680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983,
+ 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329,
+ -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438,
+ -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558,
+ -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174,
+ -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415,
+ -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744,
+ -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551,
+ ]);
+ return function hash(a, r, n) {
+ let i = 1732584193,
+ s = -271733879,
+ o = -1732584194,
+ c = 271733878;
+ const l = (n + 72) & -64,
+ h = new Uint8Array(l);
+ let u, d;
+ for (u = 0; u < n; ++u) h[u] = a[r++];
+ h[u++] = 128;
+ const f = l - 8;
+ for (; u < f; ) h[u++] = 0;
+ h[u++] = (n << 3) & 255;
+ h[u++] = (n >> 5) & 255;
+ h[u++] = (n >> 13) & 255;
+ h[u++] = (n >> 21) & 255;
+ h[u++] = (n >>> 29) & 255;
+ h[u++] = 0;
+ h[u++] = 0;
+ h[u++] = 0;
+ const g = new Int32Array(16);
+ for (u = 0; u < l; ) {
+ for (d = 0; d < 16; ++d, u += 4) g[d] = h[u] | (h[u + 1] << 8) | (h[u + 2] << 16) | (h[u + 3] << 24);
+ let a,
+ r,
+ n = i,
+ l = s,
+ f = o,
+ p = c;
+ for (d = 0; d < 64; ++d) {
+ if (d < 16) {
+ a = (l & f) | (~l & p);
+ r = d;
+ } else if (d < 32) {
+ a = (p & l) | (~p & f);
+ r = (5 * d + 1) & 15;
+ } else if (d < 48) {
+ a = l ^ f ^ p;
+ r = (3 * d + 5) & 15;
+ } else {
+ a = f ^ (l | ~p);
+ r = (7 * d) & 15;
+ }
+ const i = p,
+ s = (n + a + t[d] + g[r]) | 0,
+ o = e[d];
+ p = f;
+ f = l;
+ l = (l + ((s << o) | (s >>> (32 - o)))) | 0;
+ n = i;
+ }
+ i = (i + n) | 0;
+ s = (s + l) | 0;
+ o = (o + f) | 0;
+ c = (c + p) | 0;
+ }
+ return new Uint8Array([
+ 255 & i,
+ (i >> 8) & 255,
+ (i >> 16) & 255,
+ (i >>> 24) & 255,
+ 255 & s,
+ (s >> 8) & 255,
+ (s >> 16) & 255,
+ (s >>> 24) & 255,
+ 255 & o,
+ (o >> 8) & 255,
+ (o >> 16) & 255,
+ (o >>> 24) & 255,
+ 255 & c,
+ (c >> 8) & 255,
+ (c >> 16) & 255,
+ (c >>> 24) & 255,
+ ]);
+ };
+ })();
+ t.calculateMD5 = s;
+ class Word64 {
+ constructor(e, t) {
+ this.high = 0 | e;
+ this.low = 0 | t;
+ }
+ and(e) {
+ this.high &= e.high;
+ this.low &= e.low;
+ }
+ xor(e) {
+ this.high ^= e.high;
+ this.low ^= e.low;
+ }
+ or(e) {
+ this.high |= e.high;
+ this.low |= e.low;
+ }
+ shiftRight(e) {
+ if (e >= 32) {
+ this.low = (this.high >>> (e - 32)) | 0;
+ this.high = 0;
+ } else {
+ this.low = (this.low >>> e) | (this.high << (32 - e));
+ this.high = (this.high >>> e) | 0;
+ }
+ }
+ shiftLeft(e) {
+ if (e >= 32) {
+ this.high = this.low << (e - 32);
+ this.low = 0;
+ } else {
+ this.high = (this.high << e) | (this.low >>> (32 - e));
+ this.low <<= e;
+ }
+ }
+ rotateRight(e) {
+ let t, a;
+ if (32 & e) {
+ a = this.low;
+ t = this.high;
+ } else {
+ t = this.low;
+ a = this.high;
+ }
+ e &= 31;
+ this.low = (t >>> e) | (a << (32 - e));
+ this.high = (a >>> e) | (t << (32 - e));
+ }
+ not() {
+ this.high = ~this.high;
+ this.low = ~this.low;
+ }
+ add(e) {
+ const t = (this.low >>> 0) + (e.low >>> 0);
+ let a = (this.high >>> 0) + (e.high >>> 0);
+ t > 4294967295 && (a += 1);
+ this.low = 0 | t;
+ this.high = 0 | a;
+ }
+ copyTo(e, t) {
+ e[t] = (this.high >>> 24) & 255;
+ e[t + 1] = (this.high >> 16) & 255;
+ e[t + 2] = (this.high >> 8) & 255;
+ e[t + 3] = 255 & this.high;
+ e[t + 4] = (this.low >>> 24) & 255;
+ e[t + 5] = (this.low >> 16) & 255;
+ e[t + 6] = (this.low >> 8) & 255;
+ e[t + 7] = 255 & this.low;
+ }
+ assign(e) {
+ this.high = e.high;
+ this.low = e.low;
+ }
+ }
+ const o = (function calculateSHA256Closure() {
+ function rotr(e, t) {
+ return (e >>> t) | (e << (32 - t));
+ }
+ function ch(e, t, a) {
+ return (e & t) ^ (~e & a);
+ }
+ function maj(e, t, a) {
+ return (e & t) ^ (e & a) ^ (t & a);
+ }
+ function sigma(e) {
+ return rotr(e, 2) ^ rotr(e, 13) ^ rotr(e, 22);
+ }
+ function sigmaPrime(e) {
+ return rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25);
+ }
+ function littleSigma(e) {
+ return rotr(e, 7) ^ rotr(e, 18) ^ (e >>> 3);
+ }
+ const e = [
+ 1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080,
+ 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774,
+ 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808,
+ 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,
+ 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771,
+ 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571,
+ 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474,
+ 2756734187, 3204031479, 3329325298,
+ ];
+ return function hash(t, a, r) {
+ let n = 1779033703,
+ i = 3144134277,
+ s = 1013904242,
+ o = 2773480762,
+ c = 1359893119,
+ l = 2600822924,
+ h = 528734635,
+ u = 1541459225;
+ const d = 64 * Math.ceil((r + 9) / 64),
+ f = new Uint8Array(d);
+ let g, p;
+ for (g = 0; g < r; ++g) f[g] = t[a++];
+ f[g++] = 128;
+ const m = d - 8;
+ for (; g < m; ) f[g++] = 0;
+ f[g++] = 0;
+ f[g++] = 0;
+ f[g++] = 0;
+ f[g++] = (r >>> 29) & 255;
+ f[g++] = (r >> 21) & 255;
+ f[g++] = (r >> 13) & 255;
+ f[g++] = (r >> 5) & 255;
+ f[g++] = (r << 3) & 255;
+ const b = new Uint32Array(64);
+ for (g = 0; g < d; ) {
+ for (p = 0; p < 16; ++p) {
+ b[p] = (f[g] << 24) | (f[g + 1] << 16) | (f[g + 2] << 8) | f[g + 3];
+ g += 4;
+ }
+ for (p = 16; p < 64; ++p)
+ b[p] =
+ ((rotr((y = b[p - 2]), 17) ^ rotr(y, 19) ^ (y >>> 10)) +
+ b[p - 7] +
+ littleSigma(b[p - 15]) +
+ b[p - 16]) |
+ 0;
+ let t,
+ a,
+ r = n,
+ d = i,
+ m = s,
+ w = o,
+ S = c,
+ x = l,
+ k = h,
+ C = u;
+ for (p = 0; p < 64; ++p) {
+ t = C + sigmaPrime(S) + ch(S, x, k) + e[p] + b[p];
+ a = sigma(r) + maj(r, d, m);
+ C = k;
+ k = x;
+ x = S;
+ S = (w + t) | 0;
+ w = m;
+ m = d;
+ d = r;
+ r = (t + a) | 0;
+ }
+ n = (n + r) | 0;
+ i = (i + d) | 0;
+ s = (s + m) | 0;
+ o = (o + w) | 0;
+ c = (c + S) | 0;
+ l = (l + x) | 0;
+ h = (h + k) | 0;
+ u = (u + C) | 0;
+ }
+ var y;
+ return new Uint8Array([
+ (n >> 24) & 255,
+ (n >> 16) & 255,
+ (n >> 8) & 255,
+ 255 & n,
+ (i >> 24) & 255,
+ (i >> 16) & 255,
+ (i >> 8) & 255,
+ 255 & i,
+ (s >> 24) & 255,
+ (s >> 16) & 255,
+ (s >> 8) & 255,
+ 255 & s,
+ (o >> 24) & 255,
+ (o >> 16) & 255,
+ (o >> 8) & 255,
+ 255 & o,
+ (c >> 24) & 255,
+ (c >> 16) & 255,
+ (c >> 8) & 255,
+ 255 & c,
+ (l >> 24) & 255,
+ (l >> 16) & 255,
+ (l >> 8) & 255,
+ 255 & l,
+ (h >> 24) & 255,
+ (h >> 16) & 255,
+ (h >> 8) & 255,
+ 255 & h,
+ (u >> 24) & 255,
+ (u >> 16) & 255,
+ (u >> 8) & 255,
+ 255 & u,
+ ]);
+ };
+ })();
+ t.calculateSHA256 = o;
+ const c = (function calculateSHA512Closure() {
+ function ch(e, t, a, r, n) {
+ e.assign(t);
+ e.and(a);
+ n.assign(t);
+ n.not();
+ n.and(r);
+ e.xor(n);
+ }
+ function maj(e, t, a, r, n) {
+ e.assign(t);
+ e.and(a);
+ n.assign(t);
+ n.and(r);
+ e.xor(n);
+ n.assign(a);
+ n.and(r);
+ e.xor(n);
+ }
+ function sigma(e, t, a) {
+ e.assign(t);
+ e.rotateRight(28);
+ a.assign(t);
+ a.rotateRight(34);
+ e.xor(a);
+ a.assign(t);
+ a.rotateRight(39);
+ e.xor(a);
+ }
+ function sigmaPrime(e, t, a) {
+ e.assign(t);
+ e.rotateRight(14);
+ a.assign(t);
+ a.rotateRight(18);
+ e.xor(a);
+ a.assign(t);
+ a.rotateRight(41);
+ e.xor(a);
+ }
+ function littleSigma(e, t, a) {
+ e.assign(t);
+ e.rotateRight(1);
+ a.assign(t);
+ a.rotateRight(8);
+ e.xor(a);
+ a.assign(t);
+ a.shiftRight(7);
+ e.xor(a);
+ }
+ function littleSigmaPrime(e, t, a) {
+ e.assign(t);
+ e.rotateRight(19);
+ a.assign(t);
+ a.rotateRight(61);
+ e.xor(a);
+ a.assign(t);
+ a.shiftRight(6);
+ e.xor(a);
+ }
+ const e = [
+ new Word64(1116352408, 3609767458),
+ new Word64(1899447441, 602891725),
+ new Word64(3049323471, 3964484399),
+ new Word64(3921009573, 2173295548),
+ new Word64(961987163, 4081628472),
+ new Word64(1508970993, 3053834265),
+ new Word64(2453635748, 2937671579),
+ new Word64(2870763221, 3664609560),
+ new Word64(3624381080, 2734883394),
+ new Word64(310598401, 1164996542),
+ new Word64(607225278, 1323610764),
+ new Word64(1426881987, 3590304994),
+ new Word64(1925078388, 4068182383),
+ new Word64(2162078206, 991336113),
+ new Word64(2614888103, 633803317),
+ new Word64(3248222580, 3479774868),
+ new Word64(3835390401, 2666613458),
+ new Word64(4022224774, 944711139),
+ new Word64(264347078, 2341262773),
+ new Word64(604807628, 2007800933),
+ new Word64(770255983, 1495990901),
+ new Word64(1249150122, 1856431235),
+ new Word64(1555081692, 3175218132),
+ new Word64(1996064986, 2198950837),
+ new Word64(2554220882, 3999719339),
+ new Word64(2821834349, 766784016),
+ new Word64(2952996808, 2566594879),
+ new Word64(3210313671, 3203337956),
+ new Word64(3336571891, 1034457026),
+ new Word64(3584528711, 2466948901),
+ new Word64(113926993, 3758326383),
+ new Word64(338241895, 168717936),
+ new Word64(666307205, 1188179964),
+ new Word64(773529912, 1546045734),
+ new Word64(1294757372, 1522805485),
+ new Word64(1396182291, 2643833823),
+ new Word64(1695183700, 2343527390),
+ new Word64(1986661051, 1014477480),
+ new Word64(2177026350, 1206759142),
+ new Word64(2456956037, 344077627),
+ new Word64(2730485921, 1290863460),
+ new Word64(2820302411, 3158454273),
+ new Word64(3259730800, 3505952657),
+ new Word64(3345764771, 106217008),
+ new Word64(3516065817, 3606008344),
+ new Word64(3600352804, 1432725776),
+ new Word64(4094571909, 1467031594),
+ new Word64(275423344, 851169720),
+ new Word64(430227734, 3100823752),
+ new Word64(506948616, 1363258195),
+ new Word64(659060556, 3750685593),
+ new Word64(883997877, 3785050280),
+ new Word64(958139571, 3318307427),
+ new Word64(1322822218, 3812723403),
+ new Word64(1537002063, 2003034995),
+ new Word64(1747873779, 3602036899),
+ new Word64(1955562222, 1575990012),
+ new Word64(2024104815, 1125592928),
+ new Word64(2227730452, 2716904306),
+ new Word64(2361852424, 442776044),
+ new Word64(2428436474, 593698344),
+ new Word64(2756734187, 3733110249),
+ new Word64(3204031479, 2999351573),
+ new Word64(3329325298, 3815920427),
+ new Word64(3391569614, 3928383900),
+ new Word64(3515267271, 566280711),
+ new Word64(3940187606, 3454069534),
+ new Word64(4118630271, 4000239992),
+ new Word64(116418474, 1914138554),
+ new Word64(174292421, 2731055270),
+ new Word64(289380356, 3203993006),
+ new Word64(460393269, 320620315),
+ new Word64(685471733, 587496836),
+ new Word64(852142971, 1086792851),
+ new Word64(1017036298, 365543100),
+ new Word64(1126000580, 2618297676),
+ new Word64(1288033470, 3409855158),
+ new Word64(1501505948, 4234509866),
+ new Word64(1607167915, 987167468),
+ new Word64(1816402316, 1246189591),
+ ];
+ return function hash(t, a, r, n = !1) {
+ let i, s, o, c, l, h, u, d;
+ if (n) {
+ i = new Word64(3418070365, 3238371032);
+ s = new Word64(1654270250, 914150663);
+ o = new Word64(2438529370, 812702999);
+ c = new Word64(355462360, 4144912697);
+ l = new Word64(1731405415, 4290775857);
+ h = new Word64(2394180231, 1750603025);
+ u = new Word64(3675008525, 1694076839);
+ d = new Word64(1203062813, 3204075428);
+ } else {
+ i = new Word64(1779033703, 4089235720);
+ s = new Word64(3144134277, 2227873595);
+ o = new Word64(1013904242, 4271175723);
+ c = new Word64(2773480762, 1595750129);
+ l = new Word64(1359893119, 2917565137);
+ h = new Word64(2600822924, 725511199);
+ u = new Word64(528734635, 4215389547);
+ d = new Word64(1541459225, 327033209);
+ }
+ const f = 128 * Math.ceil((r + 17) / 128),
+ g = new Uint8Array(f);
+ let p, m;
+ for (p = 0; p < r; ++p) g[p] = t[a++];
+ g[p++] = 128;
+ const b = f - 16;
+ for (; p < b; ) g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = 0;
+ g[p++] = (r >>> 29) & 255;
+ g[p++] = (r >> 21) & 255;
+ g[p++] = (r >> 13) & 255;
+ g[p++] = (r >> 5) & 255;
+ g[p++] = (r << 3) & 255;
+ const y = new Array(80);
+ for (p = 0; p < 80; p++) y[p] = new Word64(0, 0);
+ let w = new Word64(0, 0),
+ S = new Word64(0, 0),
+ x = new Word64(0, 0),
+ k = new Word64(0, 0),
+ C = new Word64(0, 0),
+ v = new Word64(0, 0),
+ F = new Word64(0, 0),
+ O = new Word64(0, 0);
+ const T = new Word64(0, 0),
+ M = new Word64(0, 0),
+ E = new Word64(0, 0),
+ D = new Word64(0, 0);
+ let N, R;
+ for (p = 0; p < f; ) {
+ for (m = 0; m < 16; ++m) {
+ y[m].high = (g[p] << 24) | (g[p + 1] << 16) | (g[p + 2] << 8) | g[p + 3];
+ y[m].low = (g[p + 4] << 24) | (g[p + 5] << 16) | (g[p + 6] << 8) | g[p + 7];
+ p += 8;
+ }
+ for (m = 16; m < 80; ++m) {
+ N = y[m];
+ littleSigmaPrime(N, y[m - 2], D);
+ N.add(y[m - 7]);
+ littleSigma(E, y[m - 15], D);
+ N.add(E);
+ N.add(y[m - 16]);
+ }
+ w.assign(i);
+ S.assign(s);
+ x.assign(o);
+ k.assign(c);
+ C.assign(l);
+ v.assign(h);
+ F.assign(u);
+ O.assign(d);
+ for (m = 0; m < 80; ++m) {
+ T.assign(O);
+ sigmaPrime(E, C, D);
+ T.add(E);
+ ch(E, C, v, F, D);
+ T.add(E);
+ T.add(e[m]);
+ T.add(y[m]);
+ sigma(M, w, D);
+ maj(E, w, S, x, D);
+ M.add(E);
+ N = O;
+ O = F;
+ F = v;
+ v = C;
+ k.add(T);
+ C = k;
+ k = x;
+ x = S;
+ S = w;
+ N.assign(T);
+ N.add(M);
+ w = N;
+ }
+ i.add(w);
+ s.add(S);
+ o.add(x);
+ c.add(k);
+ l.add(C);
+ h.add(v);
+ u.add(F);
+ d.add(O);
+ }
+ if (n) {
+ R = new Uint8Array(48);
+ i.copyTo(R, 0);
+ s.copyTo(R, 8);
+ o.copyTo(R, 16);
+ c.copyTo(R, 24);
+ l.copyTo(R, 32);
+ h.copyTo(R, 40);
+ } else {
+ R = new Uint8Array(64);
+ i.copyTo(R, 0);
+ s.copyTo(R, 8);
+ o.copyTo(R, 16);
+ c.copyTo(R, 24);
+ l.copyTo(R, 32);
+ h.copyTo(R, 40);
+ u.copyTo(R, 48);
+ d.copyTo(R, 56);
+ }
+ return R;
+ };
+ })();
+ t.calculateSHA512 = c;
+ function calculateSHA384(e, t, a) {
+ return c(e, t, a, !0);
+ }
+ class NullCipher {
+ decryptBlock(e) {
+ return e;
+ }
+ encrypt(e) {
+ return e;
+ }
+ }
+ class AESBaseCipher {
+ constructor() {
+ this.constructor === AESBaseCipher && (0, r.unreachable)('Cannot initialize AESBaseCipher.');
+ this._s = new Uint8Array([
+ 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89,
+ 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241,
+ 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26,
+ 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190,
+ 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163,
+ 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23,
+ 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11,
+ 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213,
+ 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31,
+ 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152,
+ 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65,
+ 153, 45, 15, 176, 84, 187, 22,
+ ]);
+ this._inv_s = new Uint8Array([
+ 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47,
+ 255, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66,
+ 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246,
+ 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94,
+ 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6,
+ 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234,
+ 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28,
+ 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75,
+ 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18,
+ 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160,
+ 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38,
+ 225, 105, 20, 99, 85, 33, 12, 125,
+ ]);
+ this._mix = new Uint32Array([
+ 0, 235474187, 470948374, 303765277, 941896748, 908933415, 607530554, 708780849, 1883793496, 2118214995,
+ 1817866830, 1649639237, 1215061108, 1181045119, 1417561698, 1517767529, 3767586992, 4003061179,
+ 4236429990, 4069246893, 3635733660, 3602770327, 3299278474, 3400528769, 2430122216, 2664543715,
+ 2362090238, 2193862645, 2835123396, 2801107407, 3035535058, 3135740889, 3678124923, 3576870512,
+ 3341394285, 3374361702, 3810496343, 3977675356, 4279080257, 4043610186, 2876494627, 2776292904,
+ 3076639029, 3110650942, 2472011535, 2640243204, 2403728665, 2169303058, 1001089995, 899835584,
+ 666464733, 699432150, 59727847, 226906860, 530400753, 294930682, 1273168787, 1172967064, 1475418501,
+ 1509430414, 1942435775, 2110667444, 1876241833, 1641816226, 2910219766, 2743034109, 2976151520,
+ 3211623147, 2505202138, 2606453969, 2302690252, 2269728455, 3711829422, 3543599269, 3240894392,
+ 3475313331, 3843699074, 3943906441, 4178062228, 4144047775, 1306967366, 1139781709, 1374988112,
+ 1610459739, 1975683434, 2076935265, 1775276924, 1742315127, 1034867998, 866637845, 566021896, 800440835,
+ 92987698, 193195065, 429456164, 395441711, 1984812685, 2017778566, 1784663195, 1683407248, 1315562145,
+ 1080094634, 1383856311, 1551037884, 101039829, 135050206, 437757123, 337553864, 1042385657, 807962610,
+ 573804783, 742039012, 2531067453, 2564033334, 2328828971, 2227573024, 2935566865, 2700099354,
+ 3001755655, 3168937228, 3868552805, 3902563182, 4203181171, 4102977912, 3736164937, 3501741890,
+ 3265478751, 3433712980, 1106041591, 1340463100, 1576976609, 1408749034, 2043211483, 2009195472,
+ 1708848333, 1809054150, 832877231, 1068351396, 766945465, 599762354, 159417987, 126454664, 361929877,
+ 463180190, 2709260871, 2943682380, 3178106961, 3009879386, 2572697195, 2538681184, 2236228733,
+ 2336434550, 3509871135, 3745345300, 3441850377, 3274667266, 3910161971, 3877198648, 4110568485,
+ 4211818798, 2597806476, 2497604743, 2261089178, 2295101073, 2733856160, 2902087851, 3202437046,
+ 2968011453, 3936291284, 3835036895, 4136440770, 4169408201, 3535486456, 3702665459, 3467192302,
+ 3231722213, 2051518780, 1951317047, 1716890410, 1750902305, 1113818384, 1282050075, 1584504582,
+ 1350078989, 168810852, 67556463, 371049330, 404016761, 841739592, 1008918595, 775550814, 540080725,
+ 3969562369, 3801332234, 4035489047, 4269907996, 3569255213, 3669462566, 3366754619, 3332740144,
+ 2631065433, 2463879762, 2160117071, 2395588676, 2767645557, 2868897406, 3102011747, 3069049960,
+ 202008497, 33778362, 270040487, 504459436, 875451293, 975658646, 675039627, 641025152, 2084704233,
+ 1917518562, 1615861247, 1851332852, 1147550661, 1248802510, 1484005843, 1451044056, 933301370,
+ 967311729, 733156972, 632953703, 260388950, 25965917, 328671808, 496906059, 1206477858, 1239443753,
+ 1543208500, 1441952575, 2144161806, 1908694277, 1675577880, 1842759443, 3610369226, 3644379585,
+ 3408119516, 3307916247, 4011190502, 3776767469, 4077384432, 4245618683, 2809771154, 2842737049,
+ 3144396420, 3043140495, 2673705150, 2438237621, 2203032232, 2370213795,
+ ]);
+ this._mixCol = new Uint8Array(256);
+ for (let e = 0; e < 256; e++) this._mixCol[e] = e < 128 ? e << 1 : (e << 1) ^ 27;
+ this.buffer = new Uint8Array(16);
+ this.bufferPosition = 0;
+ }
+ _expandKey(e) {
+ (0, r.unreachable)('Cannot call `_expandKey` on the base class');
+ }
+ _decrypt(e, t) {
+ let a, r, n;
+ const i = new Uint8Array(16);
+ i.set(e);
+ for (let e = 0, a = this._keySize; e < 16; ++e, ++a) i[e] ^= t[a];
+ for (let e = this._cyclesOfRepetition - 1; e >= 1; --e) {
+ a = i[13];
+ i[13] = i[9];
+ i[9] = i[5];
+ i[5] = i[1];
+ i[1] = a;
+ a = i[14];
+ r = i[10];
+ i[14] = i[6];
+ i[10] = i[2];
+ i[6] = a;
+ i[2] = r;
+ a = i[15];
+ r = i[11];
+ n = i[7];
+ i[15] = i[3];
+ i[11] = a;
+ i[7] = r;
+ i[3] = n;
+ for (let e = 0; e < 16; ++e) i[e] = this._inv_s[i[e]];
+ for (let a = 0, r = 16 * e; a < 16; ++a, ++r) i[a] ^= t[r];
+ for (let e = 0; e < 16; e += 4) {
+ const t = this._mix[i[e]],
+ r = this._mix[i[e + 1]],
+ n = this._mix[i[e + 2]],
+ s = this._mix[i[e + 3]];
+ a = t ^ (r >>> 8) ^ (r << 24) ^ (n >>> 16) ^ (n << 16) ^ (s >>> 24) ^ (s << 8);
+ i[e] = (a >>> 24) & 255;
+ i[e + 1] = (a >> 16) & 255;
+ i[e + 2] = (a >> 8) & 255;
+ i[e + 3] = 255 & a;
+ }
+ }
+ a = i[13];
+ i[13] = i[9];
+ i[9] = i[5];
+ i[5] = i[1];
+ i[1] = a;
+ a = i[14];
+ r = i[10];
+ i[14] = i[6];
+ i[10] = i[2];
+ i[6] = a;
+ i[2] = r;
+ a = i[15];
+ r = i[11];
+ n = i[7];
+ i[15] = i[3];
+ i[11] = a;
+ i[7] = r;
+ i[3] = n;
+ for (let e = 0; e < 16; ++e) {
+ i[e] = this._inv_s[i[e]];
+ i[e] ^= t[e];
+ }
+ return i;
+ }
+ _encrypt(e, t) {
+ const a = this._s;
+ let r, n, i;
+ const s = new Uint8Array(16);
+ s.set(e);
+ for (let e = 0; e < 16; ++e) s[e] ^= t[e];
+ for (let e = 1; e < this._cyclesOfRepetition; e++) {
+ for (let e = 0; e < 16; ++e) s[e] = a[s[e]];
+ i = s[1];
+ s[1] = s[5];
+ s[5] = s[9];
+ s[9] = s[13];
+ s[13] = i;
+ i = s[2];
+ n = s[6];
+ s[2] = s[10];
+ s[6] = s[14];
+ s[10] = i;
+ s[14] = n;
+ i = s[3];
+ n = s[7];
+ r = s[11];
+ s[3] = s[15];
+ s[7] = i;
+ s[11] = n;
+ s[15] = r;
+ for (let e = 0; e < 16; e += 4) {
+ const t = s[e + 0],
+ a = s[e + 1],
+ n = s[e + 2],
+ i = s[e + 3];
+ r = t ^ a ^ n ^ i;
+ s[e + 0] ^= r ^ this._mixCol[t ^ a];
+ s[e + 1] ^= r ^ this._mixCol[a ^ n];
+ s[e + 2] ^= r ^ this._mixCol[n ^ i];
+ s[e + 3] ^= r ^ this._mixCol[i ^ t];
+ }
+ for (let a = 0, r = 16 * e; a < 16; ++a, ++r) s[a] ^= t[r];
+ }
+ for (let e = 0; e < 16; ++e) s[e] = a[s[e]];
+ i = s[1];
+ s[1] = s[5];
+ s[5] = s[9];
+ s[9] = s[13];
+ s[13] = i;
+ i = s[2];
+ n = s[6];
+ s[2] = s[10];
+ s[6] = s[14];
+ s[10] = i;
+ s[14] = n;
+ i = s[3];
+ n = s[7];
+ r = s[11];
+ s[3] = s[15];
+ s[7] = i;
+ s[11] = n;
+ s[15] = r;
+ for (let e = 0, a = this._keySize; e < 16; ++e, ++a) s[e] ^= t[a];
+ return s;
+ }
+ _decryptBlock2(e, t) {
+ const a = e.length;
+ let r = this.buffer,
+ n = this.bufferPosition;
+ const i = [];
+ let s = this.iv;
+ for (let t = 0; t < a; ++t) {
+ r[n] = e[t];
+ ++n;
+ if (n < 16) continue;
+ const a = this._decrypt(r, this._key);
+ for (let e = 0; e < 16; ++e) a[e] ^= s[e];
+ s = r;
+ i.push(a);
+ r = new Uint8Array(16);
+ n = 0;
+ }
+ this.buffer = r;
+ this.bufferLength = n;
+ this.iv = s;
+ if (0 === i.length) return new Uint8Array(0);
+ let o = 16 * i.length;
+ if (t) {
+ const e = i.at(-1);
+ let t = e[15];
+ if (t <= 16) {
+ for (let a = 15, r = 16 - t; a >= r; --a)
+ if (e[a] !== t) {
+ t = 0;
+ break;
+ }
+ o -= t;
+ i[i.length - 1] = e.subarray(0, 16 - t);
+ }
+ }
+ const c = new Uint8Array(o);
+ for (let e = 0, t = 0, a = i.length; e < a; ++e, t += 16) c.set(i[e], t);
+ return c;
+ }
+ decryptBlock(e, t, a = null) {
+ const r = e.length,
+ n = this.buffer;
+ let i = this.bufferPosition;
+ if (a) this.iv = a;
+ else {
+ for (let t = 0; i < 16 && t < r; ++t, ++i) n[i] = e[t];
+ if (i < 16) {
+ this.bufferLength = i;
+ return new Uint8Array(0);
+ }
+ this.iv = n;
+ e = e.subarray(16);
+ }
+ this.buffer = new Uint8Array(16);
+ this.bufferLength = 0;
+ this.decryptBlock = this._decryptBlock2;
+ return this.decryptBlock(e, t);
+ }
+ encrypt(e, t) {
+ const a = e.length;
+ let r = this.buffer,
+ n = this.bufferPosition;
+ const i = [];
+ t || (t = new Uint8Array(16));
+ for (let s = 0; s < a; ++s) {
+ r[n] = e[s];
+ ++n;
+ if (n < 16) continue;
+ for (let e = 0; e < 16; ++e) r[e] ^= t[e];
+ const a = this._encrypt(r, this._key);
+ t = a;
+ i.push(a);
+ r = new Uint8Array(16);
+ n = 0;
+ }
+ this.buffer = r;
+ this.bufferLength = n;
+ this.iv = t;
+ if (0 === i.length) return new Uint8Array(0);
+ const s = 16 * i.length,
+ o = new Uint8Array(s);
+ for (let e = 0, t = 0, a = i.length; e < a; ++e, t += 16) o.set(i[e], t);
+ return o;
+ }
+ }
+ class AES128Cipher extends AESBaseCipher {
+ constructor(e) {
+ super();
+ this._cyclesOfRepetition = 10;
+ this._keySize = 160;
+ this._rcon = new Uint8Array([
+ 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106,
+ 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131,
+ 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188,
+ 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74,
+ 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171,
+ 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189,
+ 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128,
+ 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145,
+ 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2,
+ 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179,
+ 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58,
+ 116, 232, 203, 141,
+ ]);
+ this._key = this._expandKey(e);
+ }
+ _expandKey(e) {
+ const t = this._s,
+ a = this._rcon,
+ r = new Uint8Array(176);
+ r.set(e);
+ for (let e = 16, n = 1; e < 176; ++n) {
+ let i = r[e - 3],
+ s = r[e - 2],
+ o = r[e - 1],
+ c = r[e - 4];
+ i = t[i];
+ s = t[s];
+ o = t[o];
+ c = t[c];
+ i ^= a[n];
+ for (let t = 0; t < 4; ++t) {
+ r[e] = i ^= r[e - 16];
+ e++;
+ r[e] = s ^= r[e - 16];
+ e++;
+ r[e] = o ^= r[e - 16];
+ e++;
+ r[e] = c ^= r[e - 16];
+ e++;
+ }
+ }
+ return r;
+ }
+ }
+ t.AES128Cipher = AES128Cipher;
+ class AES256Cipher extends AESBaseCipher {
+ constructor(e) {
+ super();
+ this._cyclesOfRepetition = 14;
+ this._keySize = 224;
+ this._key = this._expandKey(e);
+ }
+ _expandKey(e) {
+ const t = this._s,
+ a = new Uint8Array(240);
+ a.set(e);
+ let r,
+ n,
+ i,
+ s,
+ o = 1;
+ for (let e = 32, c = 1; e < 240; ++c) {
+ if (e % 32 == 16) {
+ r = t[r];
+ n = t[n];
+ i = t[i];
+ s = t[s];
+ } else if (e % 32 == 0) {
+ r = a[e - 3];
+ n = a[e - 2];
+ i = a[e - 1];
+ s = a[e - 4];
+ r = t[r];
+ n = t[n];
+ i = t[i];
+ s = t[s];
+ r ^= o;
+ (o <<= 1) >= 256 && (o = 255 & (27 ^ o));
+ }
+ for (let t = 0; t < 4; ++t) {
+ a[e] = r ^= a[e - 32];
+ e++;
+ a[e] = n ^= a[e - 32];
+ e++;
+ a[e] = i ^= a[e - 32];
+ e++;
+ a[e] = s ^= a[e - 32];
+ e++;
+ }
+ }
+ return a;
+ }
+ }
+ t.AES256Cipher = AES256Cipher;
+ class PDF17 {
+ checkOwnerPassword(e, t, a, n) {
+ const i = new Uint8Array(e.length + 56);
+ i.set(e, 0);
+ i.set(t, e.length);
+ i.set(a, e.length + t.length);
+ const s = o(i, 0, i.length);
+ return (0, r.isArrayEqual)(s, n);
+ }
+ checkUserPassword(e, t, a) {
+ const n = new Uint8Array(e.length + 8);
+ n.set(e, 0);
+ n.set(t, e.length);
+ const i = o(n, 0, n.length);
+ return (0, r.isArrayEqual)(i, a);
+ }
+ getOwnerKey(e, t, a, r) {
+ const n = new Uint8Array(e.length + 56);
+ n.set(e, 0);
+ n.set(t, e.length);
+ n.set(a, e.length + t.length);
+ const i = o(n, 0, n.length);
+ return new AES256Cipher(i).decryptBlock(r, !1, new Uint8Array(16));
+ }
+ getUserKey(e, t, a) {
+ const r = new Uint8Array(e.length + 8);
+ r.set(e, 0);
+ r.set(t, e.length);
+ const n = o(r, 0, r.length);
+ return new AES256Cipher(n).decryptBlock(a, !1, new Uint8Array(16));
+ }
+ }
+ t.PDF17 = PDF17;
+ const l = (function PDF20Closure() {
+ function calculatePDF20Hash(e, t, a) {
+ let r = o(t, 0, t.length).subarray(0, 32),
+ n = [0],
+ i = 0;
+ for (; i < 64 || n.at(-1) > i - 32; ) {
+ const t = e.length + r.length + a.length,
+ s = new Uint8Array(t);
+ let l = 0;
+ s.set(e, l);
+ l += e.length;
+ s.set(r, l);
+ l += r.length;
+ s.set(a, l);
+ const h = new Uint8Array(64 * t);
+ for (let e = 0, a = 0; e < 64; e++, a += t) h.set(s, a);
+ n = new AES128Cipher(r.subarray(0, 16)).encrypt(h, r.subarray(16, 32));
+ let u = 0;
+ for (let e = 0; e < 16; e++) {
+ u *= 1;
+ u %= 3;
+ u += (n[e] >>> 0) % 3;
+ u %= 3;
+ }
+ 0 === u
+ ? (r = o(n, 0, n.length))
+ : 1 === u
+ ? (r = calculateSHA384(n, 0, n.length))
+ : 2 === u && (r = c(n, 0, n.length));
+ i++;
+ }
+ return r.subarray(0, 32);
+ }
+ return class PDF20 {
+ hash(e, t, a) {
+ return calculatePDF20Hash(e, t, a);
+ }
+ checkOwnerPassword(e, t, a, n) {
+ const i = new Uint8Array(e.length + 56);
+ i.set(e, 0);
+ i.set(t, e.length);
+ i.set(a, e.length + t.length);
+ const s = calculatePDF20Hash(e, i, a);
+ return (0, r.isArrayEqual)(s, n);
+ }
+ checkUserPassword(e, t, a) {
+ const n = new Uint8Array(e.length + 8);
+ n.set(e, 0);
+ n.set(t, e.length);
+ const i = calculatePDF20Hash(e, n, []);
+ return (0, r.isArrayEqual)(i, a);
+ }
+ getOwnerKey(e, t, a, r) {
+ const n = new Uint8Array(e.length + 56);
+ n.set(e, 0);
+ n.set(t, e.length);
+ n.set(a, e.length + t.length);
+ const i = calculatePDF20Hash(e, n, a);
+ return new AES256Cipher(i).decryptBlock(r, !1, new Uint8Array(16));
+ }
+ getUserKey(e, t, a) {
+ const r = new Uint8Array(e.length + 8);
+ r.set(e, 0);
+ r.set(t, e.length);
+ const n = calculatePDF20Hash(e, r, []);
+ return new AES256Cipher(n).decryptBlock(a, !1, new Uint8Array(16));
+ }
+ };
+ })();
+ t.PDF20 = l;
+ class CipherTransform {
+ constructor(e, t) {
+ this.StringCipherConstructor = e;
+ this.StreamCipherConstructor = t;
+ }
+ createStream(e, t) {
+ const a = new this.StreamCipherConstructor();
+ return new i.DecryptStream(e, t, function cipherTransformDecryptStream(e, t) {
+ return a.decryptBlock(e, t);
+ });
+ }
+ decryptString(e) {
+ const t = new this.StringCipherConstructor();
+ let a = (0, r.stringToBytes)(e);
+ a = t.decryptBlock(a, !0);
+ return (0, r.bytesToString)(a);
+ }
+ encryptString(e) {
+ const t = new this.StringCipherConstructor();
+ if (t instanceof AESBaseCipher) {
+ const a = 16 - (e.length % 16);
+ e += String.fromCharCode(a).repeat(a);
+ const n = new Uint8Array(16);
+ if ('undefined' != typeof crypto) crypto.getRandomValues(n);
+ else for (let e = 0; e < 16; e++) n[e] = Math.floor(256 * Math.random());
+ let i = (0, r.stringToBytes)(e);
+ i = t.encrypt(i, n);
+ const s = new Uint8Array(16 + i.length);
+ s.set(n);
+ s.set(i, 16);
+ return (0, r.bytesToString)(s);
+ }
+ let a = (0, r.stringToBytes)(e);
+ a = t.encrypt(a);
+ return (0, r.bytesToString)(a);
+ }
+ }
+ const h = (function CipherTransformFactoryClosure() {
+ const e = new Uint8Array([
+ 40, 191, 78, 94, 78, 117, 138, 65, 100, 0, 78, 86, 255, 250, 1, 8, 46, 46, 0, 182, 208, 104, 62, 128, 47,
+ 12, 169, 254, 100, 83, 105, 122,
+ ]);
+ function prepareKeyData(t, a, r, n, i, o, c, l) {
+ const h = 40 + r.length + t.length,
+ u = new Uint8Array(h);
+ let d,
+ f,
+ g = 0;
+ if (a) {
+ f = Math.min(32, a.length);
+ for (; g < f; ++g) u[g] = a[g];
+ }
+ d = 0;
+ for (; g < 32; ) u[g++] = e[d++];
+ for (d = 0, f = r.length; d < f; ++d) u[g++] = r[d];
+ u[g++] = 255 & i;
+ u[g++] = (i >> 8) & 255;
+ u[g++] = (i >> 16) & 255;
+ u[g++] = (i >>> 24) & 255;
+ for (d = 0, f = t.length; d < f; ++d) u[g++] = t[d];
+ if (o >= 4 && !l) {
+ u[g++] = 255;
+ u[g++] = 255;
+ u[g++] = 255;
+ u[g++] = 255;
+ }
+ let p = s(u, 0, g);
+ const m = c >> 3;
+ if (o >= 3) for (d = 0; d < 50; ++d) p = s(p, 0, m);
+ const b = p.subarray(0, m);
+ let y, w;
+ if (o >= 3) {
+ for (g = 0; g < 32; ++g) u[g] = e[g];
+ for (d = 0, f = t.length; d < f; ++d) u[g++] = t[d];
+ y = new ARCFourCipher(b);
+ w = y.encryptBlock(s(u, 0, g));
+ f = b.length;
+ const a = new Uint8Array(f);
+ for (d = 1; d <= 19; ++d) {
+ for (let e = 0; e < f; ++e) a[e] = b[e] ^ d;
+ y = new ARCFourCipher(a);
+ w = y.encryptBlock(w);
+ }
+ for (d = 0, f = w.length; d < f; ++d) if (n[d] !== w[d]) return null;
+ } else {
+ y = new ARCFourCipher(b);
+ w = y.encryptBlock(e);
+ for (d = 0, f = w.length; d < f; ++d) if (n[d] !== w[d]) return null;
+ }
+ return b;
+ }
+ const t = n.Name.get('Identity');
+ function buildObjectKey(e, t, a, r = !1) {
+ const n = new Uint8Array(a.length + 9),
+ i = a.length;
+ let o;
+ for (o = 0; o < i; ++o) n[o] = a[o];
+ n[o++] = 255 & e;
+ n[o++] = (e >> 8) & 255;
+ n[o++] = (e >> 16) & 255;
+ n[o++] = 255 & t;
+ n[o++] = (t >> 8) & 255;
+ if (r) {
+ n[o++] = 115;
+ n[o++] = 65;
+ n[o++] = 108;
+ n[o++] = 84;
+ }
+ return s(n, 0, o).subarray(0, Math.min(a.length + 5, 16));
+ }
+ function buildCipherConstructor(e, t, a, i, s) {
+ if (!(t instanceof n.Name)) throw new r.FormatError('Invalid crypt filter name.');
+ const o = e.get(t.name);
+ let c;
+ null != o && (c = o.get('CFM'));
+ if (!c || 'None' === c.name)
+ return function cipherTransformFactoryBuildCipherConstructorNone() {
+ return new NullCipher();
+ };
+ if ('V2' === c.name)
+ return function cipherTransformFactoryBuildCipherConstructorV2() {
+ return new ARCFourCipher(buildObjectKey(a, i, s, !1));
+ };
+ if ('AESV2' === c.name)
+ return function cipherTransformFactoryBuildCipherConstructorAESV2() {
+ return new AES128Cipher(buildObjectKey(a, i, s, !0));
+ };
+ if ('AESV3' === c.name)
+ return function cipherTransformFactoryBuildCipherConstructorAESV3() {
+ return new AES256Cipher(s);
+ };
+ throw new r.FormatError('Unknown crypto method');
+ }
+ return class CipherTransformFactory {
+ constructor(a, i, o) {
+ const c = a.get('Filter');
+ if (!(0, n.isName)(c, 'Standard')) throw new r.FormatError('unknown encryption method');
+ this.filterName = c.name;
+ this.dict = a;
+ const h = a.get('V');
+ if (!Number.isInteger(h) || (1 !== h && 2 !== h && 4 !== h && 5 !== h))
+ throw new r.FormatError('unsupported encryption algorithm');
+ this.algorithm = h;
+ let u = a.get('Length');
+ if (!u)
+ if (h <= 3) u = 40;
+ else {
+ const e = a.get('CF'),
+ t = a.get('StmF');
+ if (e instanceof n.Dict && t instanceof n.Name) {
+ e.suppressEncryption = !0;
+ const a = e.get(t.name);
+ u = (a && a.get('Length')) || 128;
+ u < 40 && (u <<= 3);
+ }
+ }
+ if (!Number.isInteger(u) || u < 40 || u % 8 != 0) throw new r.FormatError('invalid key length');
+ const d = (0, r.stringToBytes)(a.get('O')).subarray(0, 32),
+ f = (0, r.stringToBytes)(a.get('U')).subarray(0, 32),
+ g = a.get('P'),
+ p = a.get('R'),
+ m = (4 === h || 5 === h) && !1 !== a.get('EncryptMetadata');
+ this.encryptMetadata = m;
+ const b = (0, r.stringToBytes)(i);
+ let y, w;
+ if (o) {
+ if (6 === p)
+ try {
+ o = (0, r.utf8StringToString)(o);
+ } catch (e) {
+ (0, r.warn)('CipherTransformFactory: Unable to convert UTF8 encoded password.');
+ }
+ y = (0, r.stringToBytes)(o);
+ }
+ if (5 !== h) w = prepareKeyData(b, y, d, f, g, p, u, m);
+ else {
+ const e = (0, r.stringToBytes)(a.get('O')).subarray(32, 40),
+ t = (0, r.stringToBytes)(a.get('O')).subarray(40, 48),
+ n = (0, r.stringToBytes)(a.get('U')).subarray(0, 48),
+ i = (0, r.stringToBytes)(a.get('U')).subarray(32, 40),
+ s = (0, r.stringToBytes)(a.get('U')).subarray(40, 48),
+ o = (0, r.stringToBytes)(a.get('OE')),
+ c = (0, r.stringToBytes)(a.get('UE'));
+ (0, r.stringToBytes)(a.get('Perms'));
+ w = (function createEncryptionKey20(e, t, a, r, n, i, s, o, c, h, u, d) {
+ if (t) {
+ const e = Math.min(127, t.length);
+ t = t.subarray(0, e);
+ } else t = [];
+ let f;
+ f = 6 === e ? new l() : new PDF17();
+ return f.checkUserPassword(t, o, s)
+ ? f.getUserKey(t, c, u)
+ : t.length && f.checkOwnerPassword(t, r, i, a)
+ ? f.getOwnerKey(t, n, i, h)
+ : null;
+ })(p, y, d, e, t, n, f, i, s, o, c);
+ }
+ if (!w && !o) throw new r.PasswordException('No password given', r.PasswordResponses.NEED_PASSWORD);
+ if (!w && o) {
+ const t = (function decodeUserPassword(t, a, r, n) {
+ const i = new Uint8Array(32);
+ let o = 0;
+ const c = Math.min(32, t.length);
+ for (; o < c; ++o) i[o] = t[o];
+ let l = 0;
+ for (; o < 32; ) i[o++] = e[l++];
+ let h = s(i, 0, o);
+ const u = n >> 3;
+ if (r >= 3) for (l = 0; l < 50; ++l) h = s(h, 0, h.length);
+ let d, f;
+ if (r >= 3) {
+ f = a;
+ const e = new Uint8Array(u);
+ for (l = 19; l >= 0; l--) {
+ for (let t = 0; t < u; ++t) e[t] = h[t] ^ l;
+ d = new ARCFourCipher(e);
+ f = d.encryptBlock(f);
+ }
+ } else {
+ d = new ARCFourCipher(h.subarray(0, u));
+ f = d.encryptBlock(a);
+ }
+ return f;
+ })(y, d, p, u);
+ w = prepareKeyData(b, t, d, f, g, p, u, m);
+ }
+ if (!w) throw new r.PasswordException('Incorrect Password', r.PasswordResponses.INCORRECT_PASSWORD);
+ this.encryptionKey = w;
+ if (h >= 4) {
+ const e = a.get('CF');
+ e instanceof n.Dict && (e.suppressEncryption = !0);
+ this.cf = e;
+ this.stmf = a.get('StmF') || t;
+ this.strf = a.get('StrF') || t;
+ this.eff = a.get('EFF') || this.stmf;
+ }
+ }
+ createCipherTransform(e, t) {
+ if (4 === this.algorithm || 5 === this.algorithm)
+ return new CipherTransform(
+ buildCipherConstructor(this.cf, this.strf, e, t, this.encryptionKey),
+ buildCipherConstructor(this.cf, this.stmf, e, t, this.encryptionKey)
+ );
+ const a = buildObjectKey(e, t, this.encryptionKey, !1),
+ r = function buildCipherCipherConstructor() {
+ return new ARCFourCipher(a);
+ };
+ return new CipherTransform(r, r);
+ }
+ };
+ })();
+ t.CipherTransformFactory = h;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.DecryptStream = void 0;
+ var r = a(19);
+ class DecryptStream extends r.DecodeStream {
+ constructor(e, t, a) {
+ super(t);
+ this.str = e;
+ this.dict = e.dict;
+ this.decrypt = a;
+ this.nextChunk = null;
+ this.initialized = !1;
+ }
+ readBlock() {
+ let e;
+ if (this.initialized) e = this.nextChunk;
+ else {
+ e = this.str.getBytes(512);
+ this.initialized = !0;
+ }
+ if (!e || 0 === e.length) {
+ this.eof = !0;
+ return;
+ }
+ this.nextChunk = this.str.getBytes(512);
+ const t = this.nextChunk && this.nextChunk.length > 0;
+ e = (0, this.decrypt)(e, !t);
+ let a = this.bufferLength;
+ const r = e.length,
+ n = this.ensureBuffer(a + r);
+ for (let t = 0; t < r; t++) n[a++] = e[t];
+ this.bufferLength = a;
+ }
+ }
+ t.DecryptStream = DecryptStream;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Catalog = void 0;
+ var r = a(6),
+ n = a(2),
+ i = a(5),
+ s = a(70),
+ o = a(7),
+ c = a(71),
+ l = a(14),
+ h = a(72),
+ u = a(59),
+ d = a(73),
+ f = a(74);
+ function fetchDestination(e) {
+ e instanceof i.Dict && (e = e.get('D'));
+ return Array.isArray(e) ? e : null;
+ }
+ class Catalog {
+ constructor(e, t) {
+ this.pdfManager = e;
+ this.xref = t;
+ this._catDict = t.getCatalogObj();
+ if (!(this._catDict instanceof i.Dict)) throw new n.FormatError('Catalog object is not a dictionary.');
+ this.toplevelPagesDict;
+ this._actualNumPages = null;
+ this.fontCache = new i.RefSetCache();
+ this.builtInCMapCache = new Map();
+ this.standardFontDataCache = new Map();
+ this.globalImageCache = new u.GlobalImageCache();
+ this.pageKidsCountCache = new i.RefSetCache();
+ this.pageIndexCache = new i.RefSetCache();
+ this.nonBlendModesSet = new i.RefSet();
+ }
+ get version() {
+ const e = this._catDict.get('Version');
+ return (0, n.shadow)(this, 'version', e instanceof i.Name ? e.name : null);
+ }
+ get lang() {
+ const e = this._catDict.get('Lang');
+ return (0, n.shadow)(this, 'lang', 'string' == typeof e ? (0, n.stringToPDFString)(e) : null);
+ }
+ get needsRendering() {
+ const e = this._catDict.get('NeedsRendering');
+ return (0, n.shadow)(this, 'needsRendering', 'boolean' == typeof e && e);
+ }
+ get collection() {
+ let e = null;
+ try {
+ const t = this._catDict.get('Collection');
+ t instanceof i.Dict && t.size > 0 && (e = t);
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.info)('Cannot fetch Collection entry; assuming no collection is present.');
+ }
+ return (0, n.shadow)(this, 'collection', e);
+ }
+ get acroForm() {
+ let e = null;
+ try {
+ const t = this._catDict.get('AcroForm');
+ t instanceof i.Dict && t.size > 0 && (e = t);
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.info)('Cannot fetch AcroForm entry; assuming no forms are present.');
+ }
+ return (0, n.shadow)(this, 'acroForm', e);
+ }
+ get acroFormRef() {
+ const e = this._catDict.getRaw('AcroForm');
+ return (0, n.shadow)(this, 'acroFormRef', e instanceof i.Ref ? e : null);
+ }
+ get metadata() {
+ const e = this._catDict.getRaw('Metadata');
+ if (!(e instanceof i.Ref)) return (0, n.shadow)(this, 'metadata', null);
+ let t = null;
+ try {
+ const a = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata),
+ r = this.xref.fetch(e, a);
+ if (r instanceof o.BaseStream && r.dict instanceof i.Dict) {
+ const e = r.dict.get('Type'),
+ a = r.dict.get('Subtype');
+ if ((0, i.isName)(e, 'Metadata') && (0, i.isName)(a, 'XML')) {
+ const e = (0, n.stringToUTF8String)(r.getString());
+ e && (t = new d.MetadataParser(e).serializable);
+ }
+ }
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.info)(`Skipping invalid Metadata: "${e}".`);
+ }
+ return (0, n.shadow)(this, 'metadata', t);
+ }
+ get markInfo() {
+ let e = null;
+ try {
+ e = this._readMarkInfo();
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.warn)('Unable to read mark info.');
+ }
+ return (0, n.shadow)(this, 'markInfo', e);
+ }
+ _readMarkInfo() {
+ const e = this._catDict.get('MarkInfo');
+ if (!(e instanceof i.Dict)) return null;
+ const t = {Marked: !1, UserProperties: !1, Suspects: !1};
+ for (const a in t) {
+ const r = e.get(a);
+ 'boolean' == typeof r && (t[a] = r);
+ }
+ return t;
+ }
+ get structTreeRoot() {
+ let e = null;
+ try {
+ e = this._readStructTreeRoot();
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.warn)('Unable read to structTreeRoot info.');
+ }
+ return (0, n.shadow)(this, 'structTreeRoot', e);
+ }
+ _readStructTreeRoot() {
+ const e = this._catDict.get('StructTreeRoot');
+ if (!(e instanceof i.Dict)) return null;
+ const t = new f.StructTreeRoot(e);
+ t.init();
+ return t;
+ }
+ get toplevelPagesDict() {
+ const e = this._catDict.get('Pages');
+ if (!(e instanceof i.Dict)) throw new n.FormatError('Invalid top-level pages dictionary.');
+ return (0, n.shadow)(this, 'toplevelPagesDict', e);
+ }
+ get documentOutline() {
+ let e = null;
+ try {
+ e = this._readDocumentOutline();
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.warn)('Unable to read document outline.');
+ }
+ return (0, n.shadow)(this, 'documentOutline', e);
+ }
+ _readDocumentOutline() {
+ let e = this._catDict.get('Outlines');
+ if (!(e instanceof i.Dict)) return null;
+ e = e.getRaw('First');
+ if (!(e instanceof i.Ref)) return null;
+ const t = {items: []},
+ a = [{obj: e, parent: t}],
+ r = new i.RefSet();
+ r.put(e);
+ const s = this.xref,
+ o = new Uint8ClampedArray(3);
+ for (; a.length > 0; ) {
+ const t = a.shift(),
+ c = s.fetchIfRef(t.obj);
+ if (null === c) continue;
+ if (!c.has('Title')) throw new n.FormatError('Invalid outline item encountered.');
+ const h = {url: null, dest: null};
+ Catalog.parseDestDictionary({destDict: c, resultObj: h, docBaseUrl: this.pdfManager.docBaseUrl});
+ const u = c.get('Title'),
+ d = c.get('F') || 0,
+ f = c.getArray('C'),
+ g = c.get('Count');
+ let p = o;
+ !Array.isArray(f) ||
+ 3 !== f.length ||
+ (0 === f[0] && 0 === f[1] && 0 === f[2]) ||
+ (p = l.ColorSpace.singletons.rgb.getRgb(f, 0));
+ const m = {
+ dest: h.dest,
+ url: h.url,
+ unsafeUrl: h.unsafeUrl,
+ newWindow: h.newWindow,
+ title: (0, n.stringToPDFString)(u),
+ color: p,
+ count: Number.isInteger(g) ? g : void 0,
+ bold: !!(2 & d),
+ italic: !!(1 & d),
+ items: [],
+ };
+ t.parent.items.push(m);
+ e = c.getRaw('First');
+ if (e instanceof i.Ref && !r.has(e)) {
+ a.push({obj: e, parent: m});
+ r.put(e);
+ }
+ e = c.getRaw('Next');
+ if (e instanceof i.Ref && !r.has(e)) {
+ a.push({obj: e, parent: t.parent});
+ r.put(e);
+ }
+ }
+ return t.items.length > 0 ? t.items : null;
+ }
+ get permissions() {
+ let e = null;
+ try {
+ e = this._readPermissions();
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.warn)('Unable to read permissions.');
+ }
+ return (0, n.shadow)(this, 'permissions', e);
+ }
+ _readPermissions() {
+ const e = this.xref.trailer.get('Encrypt');
+ if (!(e instanceof i.Dict)) return null;
+ let t = e.get('P');
+ if ('number' != typeof t) return null;
+ t += 2 ** 32;
+ const a = [];
+ for (const e in n.PermissionFlag) {
+ const r = n.PermissionFlag[e];
+ t & r && a.push(r);
+ }
+ return a;
+ }
+ get optionalContentConfig() {
+ let e = null;
+ try {
+ const t = this._catDict.get('OCProperties');
+ if (!t) return (0, n.shadow)(this, 'optionalContentConfig', null);
+ const a = t.get('D');
+ if (!a) return (0, n.shadow)(this, 'optionalContentConfig', null);
+ const r = t.get('OCGs');
+ if (!Array.isArray(r)) return (0, n.shadow)(this, 'optionalContentConfig', null);
+ const s = [],
+ o = [];
+ for (const e of r) {
+ if (!(e instanceof i.Ref)) continue;
+ o.push(e);
+ const t = this.xref.fetchIfRef(e);
+ s.push({
+ id: e.toString(),
+ name: 'string' == typeof t.get('Name') ? (0, n.stringToPDFString)(t.get('Name')) : null,
+ intent: 'string' == typeof t.get('Intent') ? (0, n.stringToPDFString)(t.get('Intent')) : null,
+ });
+ }
+ e = this._readOptionalContentConfig(a, o);
+ e.groups = s;
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.warn)(`Unable to read optional content config: ${e}`);
+ }
+ return (0, n.shadow)(this, 'optionalContentConfig', e);
+ }
+ _readOptionalContentConfig(e, t) {
+ function parseOnOff(e) {
+ const a = [];
+ if (Array.isArray(e)) for (const r of e) r instanceof i.Ref && t.includes(r) && a.push(r.toString());
+ return a;
+ }
+ function parseOrder(e, a = 0) {
+ if (!Array.isArray(e)) return null;
+ const n = [];
+ for (const s of e) {
+ if (s instanceof i.Ref && t.includes(s)) {
+ r.put(s);
+ n.push(s.toString());
+ continue;
+ }
+ const e = parseNestedOrder(s, a);
+ e && n.push(e);
+ }
+ if (a > 0) return n;
+ const s = [];
+ for (const e of t) r.has(e) || s.push(e.toString());
+ s.length && n.push({name: null, order: s});
+ return n;
+ }
+ function parseNestedOrder(e, t) {
+ if (++t > s) {
+ (0, n.warn)('parseNestedOrder - reached MAX_NESTED_LEVELS.');
+ return null;
+ }
+ const r = a.fetchIfRef(e);
+ if (!Array.isArray(r)) return null;
+ const i = a.fetchIfRef(r[0]);
+ if ('string' != typeof i) return null;
+ const o = parseOrder(r.slice(1), t);
+ return o && o.length ? {name: (0, n.stringToPDFString)(i), order: o} : null;
+ }
+ const a = this.xref,
+ r = new i.RefSet(),
+ s = 10;
+ return {
+ name: 'string' == typeof e.get('Name') ? (0, n.stringToPDFString)(e.get('Name')) : null,
+ creator: 'string' == typeof e.get('Creator') ? (0, n.stringToPDFString)(e.get('Creator')) : null,
+ baseState: e.get('BaseState') instanceof i.Name ? e.get('BaseState').name : null,
+ on: parseOnOff(e.get('ON')),
+ off: parseOnOff(e.get('OFF')),
+ order: parseOrder(e.get('Order')),
+ groups: null,
+ };
+ }
+ setActualNumPages(e = null) {
+ this._actualNumPages = e;
+ }
+ get hasActualNumPages() {
+ return null !== this._actualNumPages;
+ }
+ get _pagesCount() {
+ const e = this.toplevelPagesDict.get('Count');
+ if (!Number.isInteger(e))
+ throw new n.FormatError('Page count in top-level pages dictionary is not an integer.');
+ return (0, n.shadow)(this, '_pagesCount', e);
+ }
+ get numPages() {
+ return this.hasActualNumPages ? this._actualNumPages : this._pagesCount;
+ }
+ get destinations() {
+ const e = this._readDests(),
+ t = Object.create(null);
+ if (e instanceof s.NameTree)
+ for (const [a, r] of e.getAll()) {
+ const e = fetchDestination(r);
+ e && (t[(0, n.stringToPDFString)(a)] = e);
+ }
+ else
+ e instanceof i.Dict &&
+ e.forEach(function (e, a) {
+ const r = fetchDestination(a);
+ r && (t[e] = r);
+ });
+ return (0, n.shadow)(this, 'destinations', t);
+ }
+ getDestination(e) {
+ const t = this._readDests();
+ if (t instanceof s.NameTree) {
+ const a = fetchDestination(t.get(e));
+ if (a) return a;
+ const r = this.destinations[e];
+ if (r) {
+ (0, n.warn)(`Found "${e}" at an incorrect position in the NameTree.`);
+ return r;
+ }
+ } else if (t instanceof i.Dict) {
+ const a = fetchDestination(t.get(e));
+ if (a) return a;
+ }
+ return null;
+ }
+ _readDests() {
+ const e = this._catDict.get('Names');
+ return e && e.has('Dests')
+ ? new s.NameTree(e.getRaw('Dests'), this.xref)
+ : this._catDict.has('Dests')
+ ? this._catDict.get('Dests')
+ : void 0;
+ }
+ get pageLabels() {
+ let e = null;
+ try {
+ e = this._readPageLabels();
+ } catch (e) {
+ if (e instanceof r.MissingDataException) throw e;
+ (0, n.warn)('Unable to read page labels.');
+ }
+ return (0, n.shadow)(this, 'pageLabels', e);
+ }
+ _readPageLabels() {
+ const e = this._catDict.getRaw('PageLabels');
+ if (!e) return null;
+ const t = new Array(this.numPages);
+ let a = null,
+ o = '';
+ const c = new s.NumberTree(e, this.xref).getAll();
+ let l = '',
+ h = 1;
+ for (let e = 0, s = this.numPages; e < s; e++) {
+ const s = c.get(e);
+ if (void 0 !== s) {
+ if (!(s instanceof i.Dict)) throw new n.FormatError('PageLabel is not a dictionary.');
+ if (s.has('Type') && !(0, i.isName)(s.get('Type'), 'PageLabel'))
+ throw new n.FormatError('Invalid type in PageLabel dictionary.');
+ if (s.has('S')) {
+ const e = s.get('S');
+ if (!(e instanceof i.Name)) throw new n.FormatError('Invalid style in PageLabel dictionary.');
+ a = e.name;
+ } else a = null;
+ if (s.has('P')) {
+ const e = s.get('P');
+ if ('string' != typeof e) throw new n.FormatError('Invalid prefix in PageLabel dictionary.');
+ o = (0, n.stringToPDFString)(e);
+ } else o = '';
+ if (s.has('St')) {
+ const e = s.get('St');
+ if (!(Number.isInteger(e) && e >= 1))
+ throw new n.FormatError('Invalid start in PageLabel dictionary.');
+ h = e;
+ } else h = 1;
+ }
+ switch (a) {
+ case 'D':
+ l = h;
+ break;
+ case 'R':
+ case 'r':
+ l = (0, r.toRomanNumerals)(h, 'r' === a);
+ break;
+ case 'A':
+ case 'a':
+ const e = 26,
+ t = 65,
+ i = 97,
+ s = 'a' === a ? i : t,
+ o = h - 1;
+ l = String.fromCharCode(s + (o % e)).repeat(Math.floor(o / e) + 1);
+ break;
+ default:
+ if (a) throw new n.FormatError(`Invalid style "${a}" in PageLabel dictionary.`);
+ l = '';
+ }
+ t[e] = o + l;
+ h++;
+ }
+ return t;
+ }
+ get pageLayout() {
+ const e = this._catDict.get('PageLayout');
+ let t = '';
+ if (e instanceof i.Name)
+ switch (e.name) {
+ case 'SinglePage':
+ case 'OneColumn':
+ case 'TwoColumnLeft':
+ case 'TwoColumnRight':
+ case 'TwoPageLeft':
+ case 'TwoPageRight':
+ t = e.name;
+ }
+ return (0, n.shadow)(this, 'pageLayout', t);
+ }
+ get pageMode() {
+ const e = this._catDict.get('PageMode');
+ let t = 'UseNone';
+ if (e instanceof i.Name)
+ switch (e.name) {
+ case 'UseNone':
+ case 'UseOutlines':
+ case 'UseThumbs':
+ case 'FullScreen':
+ case 'UseOC':
+ case 'UseAttachments':
+ t = e.name;
+ }
+ return (0, n.shadow)(this, 'pageMode', t);
+ }
+ get viewerPreferences() {
+ const e = this._catDict.get('ViewerPreferences');
+ if (!(e instanceof i.Dict)) return (0, n.shadow)(this, 'viewerPreferences', null);
+ let t = null;
+ for (const a of e.getKeys()) {
+ const r = e.get(a);
+ let s;
+ switch (a) {
+ case 'HideToolbar':
+ case 'HideMenubar':
+ case 'HideWindowUI':
+ case 'FitWindow':
+ case 'CenterWindow':
+ case 'DisplayDocTitle':
+ case 'PickTrayByPDFSize':
+ 'boolean' == typeof r && (s = r);
+ break;
+ case 'NonFullScreenPageMode':
+ if (r instanceof i.Name)
+ switch (r.name) {
+ case 'UseNone':
+ case 'UseOutlines':
+ case 'UseThumbs':
+ case 'UseOC':
+ s = r.name;
+ break;
+ default:
+ s = 'UseNone';
+ }
+ break;
+ case 'Direction':
+ if (r instanceof i.Name)
+ switch (r.name) {
+ case 'L2R':
+ case 'R2L':
+ s = r.name;
+ break;
+ default:
+ s = 'L2R';
+ }
+ break;
+ case 'ViewArea':
+ case 'ViewClip':
+ case 'PrintArea':
+ case 'PrintClip':
+ if (r instanceof i.Name)
+ switch (r.name) {
+ case 'MediaBox':
+ case 'CropBox':
+ case 'BleedBox':
+ case 'TrimBox':
+ case 'ArtBox':
+ s = r.name;
+ break;
+ default:
+ s = 'CropBox';
+ }
+ break;
+ case 'PrintScaling':
+ if (r instanceof i.Name)
+ switch (r.name) {
+ case 'None':
+ case 'AppDefault':
+ s = r.name;
+ break;
+ default:
+ s = 'AppDefault';
+ }
+ break;
+ case 'Duplex':
+ if (r instanceof i.Name)
+ switch (r.name) {
+ case 'Simplex':
+ case 'DuplexFlipShortEdge':
+ case 'DuplexFlipLongEdge':
+ s = r.name;
+ break;
+ default:
+ s = 'None';
+ }
+ break;
+ case 'PrintPageRange':
+ if (Array.isArray(r) && r.length % 2 == 0) {
+ r.every(
+ (e, t, a) => Number.isInteger(e) && e > 0 && (0 === t || e >= a[t - 1]) && e <= this.numPages
+ ) && (s = r);
+ }
+ break;
+ case 'NumCopies':
+ Number.isInteger(r) && r > 0 && (s = r);
+ break;
+ default:
+ (0, n.warn)(`Ignoring non-standard key in ViewerPreferences: ${a}.`);
+ continue;
+ }
+ if (void 0 !== s) {
+ t || (t = Object.create(null));
+ t[a] = s;
+ } else (0, n.warn)(`Bad value, for key "${a}", in ViewerPreferences: ${r}.`);
+ }
+ return (0, n.shadow)(this, 'viewerPreferences', t);
+ }
+ get openAction() {
+ const e = this._catDict.get('OpenAction'),
+ t = Object.create(null);
+ if (e instanceof i.Dict) {
+ const a = new i.Dict(this.xref);
+ a.set('A', e);
+ const r = {url: null, dest: null, action: null};
+ Catalog.parseDestDictionary({destDict: a, resultObj: r});
+ Array.isArray(r.dest) ? (t.dest = r.dest) : r.action && (t.action = r.action);
+ } else Array.isArray(e) && (t.dest = e);
+ return (0, n.shadow)(this, 'openAction', (0, n.objectSize)(t) > 0 ? t : null);
+ }
+ get attachments() {
+ const e = this._catDict.get('Names');
+ let t = null;
+ if (e instanceof i.Dict && e.has('EmbeddedFiles')) {
+ const a = new s.NameTree(e.getRaw('EmbeddedFiles'), this.xref);
+ for (const [e, r] of a.getAll()) {
+ const a = new h.FileSpec(r, this.xref);
+ t || (t = Object.create(null));
+ t[(0, n.stringToPDFString)(e)] = a.serializable;
+ }
+ }
+ return (0, n.shadow)(this, 'attachments', t);
+ }
+ get xfaImages() {
+ const e = this._catDict.get('Names');
+ let t = null;
+ if (e instanceof i.Dict && e.has('XFAImages')) {
+ const a = new s.NameTree(e.getRaw('XFAImages'), this.xref);
+ for (const [e, r] of a.getAll()) {
+ t || (t = new i.Dict(this.xref));
+ t.set((0, n.stringToPDFString)(e), r);
+ }
+ }
+ return (0, n.shadow)(this, 'xfaImages', t);
+ }
+ _collectJavaScript() {
+ const e = this._catDict.get('Names');
+ let t = null;
+ function appendIfJavaScriptDict(e, a) {
+ if (!(a instanceof i.Dict)) return;
+ if (!(0, i.isName)(a.get('S'), 'JavaScript')) return;
+ let r = a.get('JS');
+ if (r instanceof o.BaseStream) r = r.getString();
+ else if ('string' != typeof r) return;
+ null === t && (t = new Map());
+ r = (0, n.stringToPDFString)(r).replace(/\u0000/g, '');
+ t.set(e, r);
+ }
+ if (e instanceof i.Dict && e.has('JavaScript')) {
+ const t = new s.NameTree(e.getRaw('JavaScript'), this.xref);
+ for (const [e, a] of t.getAll()) appendIfJavaScriptDict((0, n.stringToPDFString)(e), a);
+ }
+ const a = this._catDict.get('OpenAction');
+ a && appendIfJavaScriptDict('OpenAction', a);
+ return t;
+ }
+ get javaScript() {
+ const e = this._collectJavaScript();
+ return (0, n.shadow)(this, 'javaScript', e ? [...e.values()] : null);
+ }
+ get jsActions() {
+ const e = this._collectJavaScript();
+ let t = (0, r.collectActions)(this.xref, this._catDict, n.DocumentActionEventType);
+ if (e) {
+ t || (t = Object.create(null));
+ for (const [a, r] of e) a in t ? t[a].push(r) : (t[a] = [r]);
+ }
+ return (0, n.shadow)(this, 'jsActions', t);
+ }
+ async fontFallback(e, t) {
+ const a = await Promise.all(this.fontCache);
+ for (const r of a)
+ if (r.loadedName === e) {
+ r.fallback(t);
+ return;
+ }
+ }
+ async cleanup(e = !1) {
+ (0, c.clearGlobalCaches)();
+ this.globalImageCache.clear(e);
+ this.pageKidsCountCache.clear();
+ this.pageIndexCache.clear();
+ this.nonBlendModesSet.clear();
+ const t = await Promise.all(this.fontCache);
+ for (const {dict: e} of t) delete e.cacheKey;
+ this.fontCache.clear();
+ this.builtInCMapCache.clear();
+ this.standardFontDataCache.clear();
+ }
+ async getPageDict(e) {
+ const t = [this.toplevelPagesDict],
+ a = new i.RefSet(),
+ r = this._catDict.getRaw('Pages');
+ r instanceof i.Ref && a.put(r);
+ const s = this.xref,
+ o = this.pageKidsCountCache,
+ c = this.pageIndexCache;
+ let l = 0;
+ for (; t.length; ) {
+ const r = t.pop();
+ if (r instanceof i.Ref) {
+ const h = o.get(r);
+ if (h >= 0 && l + h <= e) {
+ l += h;
+ continue;
+ }
+ if (a.has(r)) throw new n.FormatError('Pages tree contains circular reference.');
+ a.put(r);
+ const u = await s.fetchAsync(r);
+ if (u instanceof i.Dict) {
+ let t = u.getRaw('Type');
+ t instanceof i.Ref && (t = await s.fetchAsync(t));
+ if ((0, i.isName)(t, 'Page') || !u.has('Kids')) {
+ o.has(r) || o.put(r, 1);
+ c.has(r) || c.put(r, l);
+ if (l === e) return [u, r];
+ l++;
+ continue;
+ }
+ }
+ t.push(u);
+ continue;
+ }
+ if (!(r instanceof i.Dict))
+ throw new n.FormatError('Page dictionary kid reference points to wrong type of object.');
+ const {objId: h} = r;
+ let u = r.getRaw('Count');
+ u instanceof i.Ref && (u = await s.fetchAsync(u));
+ if (Number.isInteger(u) && u >= 0) {
+ h && !o.has(h) && o.put(h, u);
+ if (l + u <= e) {
+ l += u;
+ continue;
+ }
+ }
+ let d = r.getRaw('Kids');
+ d instanceof i.Ref && (d = await s.fetchAsync(d));
+ if (!Array.isArray(d)) {
+ let t = r.getRaw('Type');
+ t instanceof i.Ref && (t = await s.fetchAsync(t));
+ if ((0, i.isName)(t, 'Page') || !r.has('Kids')) {
+ if (l === e) return [r, null];
+ l++;
+ continue;
+ }
+ throw new n.FormatError('Page dictionary kids object is not an array.');
+ }
+ for (let e = d.length - 1; e >= 0; e--) t.push(d[e]);
+ }
+ throw new Error(`Page index ${e} not found.`);
+ }
+ async getAllPageDicts(e = !1) {
+ const t = [{currentNode: this.toplevelPagesDict, posInKids: 0}],
+ a = new i.RefSet(),
+ s = this._catDict.getRaw('Pages');
+ s instanceof i.Ref && a.put(s);
+ const o = new Map(),
+ c = this.xref,
+ l = this.pageIndexCache;
+ let h = 0;
+ function addPageDict(e, t) {
+ t && !l.has(t) && l.put(t, h);
+ o.set(h++, [e, t]);
+ }
+ function addPageError(t) {
+ if (t instanceof r.XRefEntryException && !e) throw t;
+ o.set(h++, [t, null]);
+ }
+ for (; t.length > 0; ) {
+ const e = t.at(-1),
+ {currentNode: r, posInKids: s} = e;
+ let o = r.getRaw('Kids');
+ if (o instanceof i.Ref)
+ try {
+ o = await c.fetchAsync(o);
+ } catch (e) {
+ addPageError(e);
+ break;
+ }
+ if (!Array.isArray(o)) {
+ addPageError(new n.FormatError('Page dictionary kids object is not an array.'));
+ break;
+ }
+ if (s >= o.length) {
+ t.pop();
+ continue;
+ }
+ const l = o[s];
+ let h;
+ if (l instanceof i.Ref) {
+ if (a.has(l)) {
+ addPageError(new n.FormatError('Pages tree contains circular reference.'));
+ break;
+ }
+ a.put(l);
+ try {
+ h = await c.fetchAsync(l);
+ } catch (e) {
+ addPageError(e);
+ break;
+ }
+ } else h = l;
+ if (!(h instanceof i.Dict)) {
+ addPageError(new n.FormatError('Page dictionary kid reference points to wrong type of object.'));
+ break;
+ }
+ let u = h.getRaw('Type');
+ if (u instanceof i.Ref)
+ try {
+ u = await c.fetchAsync(u);
+ } catch (e) {
+ addPageError(e);
+ break;
+ }
+ (0, i.isName)(u, 'Page') || !h.has('Kids')
+ ? addPageDict(h, l instanceof i.Ref ? l : null)
+ : t.push({currentNode: h, posInKids: 0});
+ e.posInKids++;
+ }
+ return o;
+ }
+ getPageIndex(e) {
+ const t = this.pageIndexCache.get(e);
+ if (void 0 !== t) return Promise.resolve(t);
+ const a = this.xref;
+ let r = 0;
+ const next = (t) =>
+ (function pagesBeforeRef(t) {
+ let r,
+ s = 0;
+ return a
+ .fetchAsync(t)
+ .then(function (a) {
+ if (
+ (0, i.isRefsEqual)(t, e) &&
+ !(0, i.isDict)(a, 'Page') &&
+ !(a instanceof i.Dict && !a.has('Type') && a.has('Contents'))
+ )
+ throw new n.FormatError('The reference does not point to a /Page dictionary.');
+ if (!a) return null;
+ if (!(a instanceof i.Dict)) throw new n.FormatError('Node must be a dictionary.');
+ r = a.getRaw('Parent');
+ return a.getAsync('Parent');
+ })
+ .then(function (e) {
+ if (!e) return null;
+ if (!(e instanceof i.Dict)) throw new n.FormatError('Parent must be a dictionary.');
+ return e.getAsync('Kids');
+ })
+ .then(function (e) {
+ if (!e) return null;
+ const o = [];
+ let c = !1;
+ for (let r = 0, l = e.length; r < l; r++) {
+ const l = e[r];
+ if (!(l instanceof i.Ref)) throw new n.FormatError('Kid must be a reference.');
+ if ((0, i.isRefsEqual)(l, t)) {
+ c = !0;
+ break;
+ }
+ o.push(
+ a.fetchAsync(l).then(function (e) {
+ if (!(e instanceof i.Dict)) throw new n.FormatError('Kid node must be a dictionary.');
+ e.has('Count') ? (s += e.get('Count')) : s++;
+ })
+ );
+ }
+ if (!c) throw new n.FormatError("Kid reference not found in parent's kids.");
+ return Promise.all(o).then(function () {
+ return [s, r];
+ });
+ });
+ })(t).then((t) => {
+ if (!t) {
+ this.pageIndexCache.put(e, r);
+ return r;
+ }
+ const [a, n] = t;
+ r += a;
+ return next(n);
+ });
+ return next(e);
+ }
+ get baseUrl() {
+ const e = this._catDict.get('URI');
+ if (e instanceof i.Dict) {
+ const t = e.get('Base');
+ if ('string' == typeof t) {
+ const e = (0, n.createValidAbsoluteUrl)(t, null, {tryConvertEncoding: !0});
+ if (e) return (0, n.shadow)(this, 'baseUrl', e.href);
+ }
+ }
+ return (0, n.shadow)(this, 'baseUrl', null);
+ }
+ static parseDestDictionary(e) {
+ const t = e.destDict;
+ if (!(t instanceof i.Dict)) {
+ (0, n.warn)('parseDestDictionary: `destDict` must be a dictionary.');
+ return;
+ }
+ const a = e.resultObj;
+ if ('object' != typeof a) {
+ (0, n.warn)('parseDestDictionary: `resultObj` must be an object.');
+ return;
+ }
+ const s = e.docBaseUrl || null;
+ let c,
+ l,
+ h = t.get('A');
+ if (!(h instanceof i.Dict))
+ if (t.has('Dest')) h = t.get('Dest');
+ else {
+ h = t.get('AA');
+ h instanceof i.Dict && (h.has('D') ? (h = h.get('D')) : h.has('U') && (h = h.get('U')));
+ }
+ if (h instanceof i.Dict) {
+ const e = h.get('S');
+ if (!(e instanceof i.Name)) {
+ (0, n.warn)('parseDestDictionary: Invalid type in Action dictionary.');
+ return;
+ }
+ const t = e.name;
+ switch (t) {
+ case 'ResetForm':
+ const e = h.get('Flags'),
+ s = 0 == (1 & ('number' == typeof e ? e : 0)),
+ u = [],
+ d = [];
+ for (const e of h.get('Fields') || [])
+ e instanceof i.Ref
+ ? d.push(e.toString())
+ : 'string' == typeof e && u.push((0, n.stringToPDFString)(e));
+ a.resetForm = {fields: u, refs: d, include: s};
+ break;
+ case 'URI':
+ c = h.get('URI');
+ c instanceof i.Name && (c = '/' + c.name);
+ break;
+ case 'GoTo':
+ l = h.get('D');
+ break;
+ case 'Launch':
+ case 'GoToR':
+ const f = h.get('F');
+ f instanceof i.Dict ? (c = f.get('F') || null) : 'string' == typeof f && (c = f);
+ let g = h.get('D');
+ if (g) {
+ g instanceof i.Name && (g = g.name);
+ if ('string' == typeof c) {
+ const e = c.split('#')[0];
+ 'string' == typeof g
+ ? (c = e + '#' + g)
+ : Array.isArray(g) && (c = e + '#' + JSON.stringify(g));
+ }
+ }
+ const p = h.get('NewWindow');
+ 'boolean' == typeof p && (a.newWindow = p);
+ break;
+ case 'Named':
+ const m = h.get('N');
+ m instanceof i.Name && (a.action = m.name);
+ break;
+ case 'JavaScript':
+ const b = h.get('JS');
+ let y;
+ b instanceof o.BaseStream ? (y = b.getString()) : 'string' == typeof b && (y = b);
+ const w = y && (0, r.recoverJsURL)((0, n.stringToPDFString)(y));
+ if (w) {
+ c = w.url;
+ a.newWindow = w.newWindow;
+ break;
+ }
+ default:
+ if ('JavaScript' === t || 'SubmitForm' === t) break;
+ (0, n.warn)(`parseDestDictionary - unsupported action: "${t}".`);
+ }
+ } else t.has('Dest') && (l = t.get('Dest'));
+ if ('string' == typeof c) {
+ const e = (0, n.createValidAbsoluteUrl)(c, s, {addDefaultProtocol: !0, tryConvertEncoding: !0});
+ e && (a.url = e.href);
+ a.unsafeUrl = c;
+ }
+ if (l) {
+ l instanceof i.Name && (l = l.name);
+ 'string' == typeof l ? (a.dest = (0, n.stringToPDFString)(l)) : Array.isArray(l) && (a.dest = l);
+ }
+ }
+ }
+ t.Catalog = Catalog;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.NumberTree = t.NameTree = void 0;
+ var r = a(5),
+ n = a(2);
+ class NameOrNumberTree {
+ constructor(e, t, a) {
+ this.constructor === NameOrNumberTree && (0, n.unreachable)('Cannot initialize NameOrNumberTree.');
+ this.root = e;
+ this.xref = t;
+ this._type = a;
+ }
+ getAll() {
+ const e = new Map();
+ if (!this.root) return e;
+ const t = this.xref,
+ a = new r.RefSet();
+ a.put(this.root);
+ const i = [this.root];
+ for (; i.length > 0; ) {
+ const s = t.fetchIfRef(i.shift());
+ if (!(s instanceof r.Dict)) continue;
+ if (s.has('Kids')) {
+ const e = s.get('Kids');
+ if (!Array.isArray(e)) continue;
+ for (const t of e) {
+ if (a.has(t)) throw new n.FormatError(`Duplicate entry in "${this._type}" tree.`);
+ i.push(t);
+ a.put(t);
+ }
+ continue;
+ }
+ const o = s.get(this._type);
+ if (Array.isArray(o))
+ for (let a = 0, r = o.length; a < r; a += 2) e.set(t.fetchIfRef(o[a]), t.fetchIfRef(o[a + 1]));
+ }
+ return e;
+ }
+ get(e) {
+ if (!this.root) return null;
+ const t = this.xref;
+ let a = t.fetchIfRef(this.root),
+ r = 0;
+ for (; a.has('Kids'); ) {
+ if (++r > 10) {
+ (0, n.warn)(`Search depth limit reached for "${this._type}" tree.`);
+ return null;
+ }
+ const i = a.get('Kids');
+ if (!Array.isArray(i)) return null;
+ let s = 0,
+ o = i.length - 1;
+ for (; s <= o; ) {
+ const r = (s + o) >> 1,
+ n = t.fetchIfRef(i[r]),
+ c = n.get('Limits');
+ if (e < t.fetchIfRef(c[0])) o = r - 1;
+ else {
+ if (!(e > t.fetchIfRef(c[1]))) {
+ a = n;
+ break;
+ }
+ s = r + 1;
+ }
+ }
+ if (s > o) return null;
+ }
+ const i = a.get(this._type);
+ if (Array.isArray(i)) {
+ let a = 0,
+ r = i.length - 2;
+ for (; a <= r; ) {
+ const n = (a + r) >> 1,
+ s = n + (1 & n),
+ o = t.fetchIfRef(i[s]);
+ if (e < o) r = s - 2;
+ else {
+ if (!(e > o)) return t.fetchIfRef(i[s + 1]);
+ a = s + 2;
+ }
+ }
+ }
+ return null;
+ }
+ }
+ t.NameTree = class NameTree extends NameOrNumberTree {
+ constructor(e, t) {
+ super(e, t, 'Names');
+ }
+ };
+ t.NumberTree = class NumberTree extends NameOrNumberTree {
+ constructor(e, t) {
+ super(e, t, 'Nums');
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.clearGlobalCaches = function clearGlobalCaches() {
+ (0, r.clearPrimitiveCaches)();
+ (0, n.clearUnicodeCaches)();
+ };
+ var r = a(5),
+ n = a(40);
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.FileSpec = void 0;
+ var r = a(2),
+ n = a(7),
+ i = a(5);
+ function pickPlatformItem(e) {
+ return e.has('UF')
+ ? e.get('UF')
+ : e.has('F')
+ ? e.get('F')
+ : e.has('Unix')
+ ? e.get('Unix')
+ : e.has('Mac')
+ ? e.get('Mac')
+ : e.has('DOS')
+ ? e.get('DOS')
+ : null;
+ }
+ t.FileSpec = class FileSpec {
+ constructor(e, t) {
+ if (e instanceof i.Dict) {
+ this.xref = t;
+ this.root = e;
+ e.has('FS') && (this.fs = e.get('FS'));
+ this.description = e.has('Desc') ? (0, r.stringToPDFString)(e.get('Desc')) : '';
+ e.has('RF') && (0, r.warn)('Related file specifications are not supported');
+ this.contentAvailable = !0;
+ if (!e.has('EF')) {
+ this.contentAvailable = !1;
+ (0, r.warn)('Non-embedded file specifications are not supported');
+ }
+ }
+ }
+ get filename() {
+ if (!this._filename && this.root) {
+ const e = pickPlatformItem(this.root) || 'unnamed';
+ this._filename = (0, r.stringToPDFString)(e)
+ .replace(/\\\\/g, '\\')
+ .replace(/\\\//g, '/')
+ .replace(/\\/g, '/');
+ }
+ return this._filename;
+ }
+ get content() {
+ if (!this.contentAvailable) return null;
+ !this.contentRef && this.root && (this.contentRef = pickPlatformItem(this.root.get('EF')));
+ let e = null;
+ if (this.contentRef) {
+ const t = this.xref.fetchIfRef(this.contentRef);
+ t instanceof n.BaseStream
+ ? (e = t.getBytes())
+ : (0, r.warn)('Embedded file specification points to non-existing/invalid content');
+ } else (0, r.warn)('Embedded file specification does not have a content');
+ return e;
+ }
+ get serializable() {
+ return {filename: this.filename, content: this.content};
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.MetadataParser = void 0;
+ var r = a(66);
+ t.MetadataParser = class MetadataParser {
+ constructor(e) {
+ e = this._repair(e);
+ const t = new r.SimpleXMLParser({lowerCaseName: !0}).parseFromString(e);
+ this._metadataMap = new Map();
+ this._data = e;
+ t && this._parse(t);
+ }
+ _repair(e) {
+ return e.replace(/^[^<]+/, '').replace(/>\\376\\377([^<]+)/g, function (e, t) {
+ const a = t
+ .replace(/\\([0-3])([0-7])([0-7])/g, function (e, t, a, r) {
+ return String.fromCharCode(64 * t + 8 * a + 1 * r);
+ })
+ .replace(/&(amp|apos|gt|lt|quot);/g, function (e, t) {
+ switch (t) {
+ case 'amp':
+ return '&';
+ case 'apos':
+ return "'";
+ case 'gt':
+ return '>';
+ case 'lt':
+ return '<';
+ case 'quot':
+ return '"';
+ }
+ throw new Error(`_repair: ${t} isn't defined.`);
+ }),
+ r = [];
+ for (let e = 0, t = a.length; e < t; e += 2) {
+ const t = 256 * a.charCodeAt(e) + a.charCodeAt(e + 1);
+ t >= 32 && t < 127 && 60 !== t && 62 !== t && 38 !== t
+ ? r.push(String.fromCharCode(t))
+ : r.push('' + (65536 + t).toString(16).substring(1) + ';');
+ }
+ return '>' + r.join('');
+ });
+ }
+ _getSequence(e) {
+ const t = e.nodeName;
+ return 'rdf:bag' !== t && 'rdf:seq' !== t && 'rdf:alt' !== t
+ ? null
+ : e.childNodes.filter((e) => 'rdf:li' === e.nodeName);
+ }
+ _parseArray(e) {
+ if (!e.hasChildNodes()) return;
+ const [t] = e.childNodes,
+ a = this._getSequence(t) || [];
+ this._metadataMap.set(
+ e.nodeName,
+ a.map((e) => e.textContent.trim())
+ );
+ }
+ _parse(e) {
+ let t = e.documentElement;
+ if ('rdf:rdf' !== t.nodeName) {
+ t = t.firstChild;
+ for (; t && 'rdf:rdf' !== t.nodeName; ) t = t.nextSibling;
+ }
+ if (t && 'rdf:rdf' === t.nodeName && t.hasChildNodes())
+ for (const e of t.childNodes)
+ if ('rdf:description' === e.nodeName)
+ for (const t of e.childNodes) {
+ const e = t.nodeName;
+ switch (e) {
+ case '#text':
+ continue;
+ case 'dc:creator':
+ case 'dc:subject':
+ this._parseArray(t);
+ continue;
+ }
+ this._metadataMap.set(e, t.textContent.trim());
+ }
+ }
+ get serializable() {
+ return {parsedData: this._metadataMap, rawData: this._data};
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.StructTreeRoot = t.StructTreePage = void 0;
+ var r = a(5),
+ n = a(2),
+ i = a(70);
+ const s = 'PAGE_CONTENT',
+ o = 'STREAM_CONTENT',
+ c = 'OBJECT',
+ l = 'ELEMENT';
+ t.StructTreeRoot = class StructTreeRoot {
+ constructor(e) {
+ this.dict = e;
+ this.roleMap = new Map();
+ }
+ init() {
+ this.readRoleMap();
+ }
+ readRoleMap() {
+ const e = this.dict.get('RoleMap');
+ e instanceof r.Dict &&
+ e.forEach((e, t) => {
+ t instanceof r.Name && this.roleMap.set(e, t.name);
+ });
+ }
+ };
+ class StructElementNode {
+ constructor(e, t) {
+ this.tree = e;
+ this.dict = t;
+ this.kids = [];
+ this.parseKids();
+ }
+ get role() {
+ const e = this.dict.get('S'),
+ t = e instanceof r.Name ? e.name : '',
+ {root: a} = this.tree;
+ return a.roleMap.has(t) ? a.roleMap.get(t) : t;
+ }
+ parseKids() {
+ let e = null;
+ const t = this.dict.getRaw('Pg');
+ t instanceof r.Ref && (e = t.toString());
+ const a = this.dict.get('K');
+ if (Array.isArray(a))
+ for (const t of a) {
+ const a = this.parseKid(e, t);
+ a && this.kids.push(a);
+ }
+ else {
+ const t = this.parseKid(e, a);
+ t && this.kids.push(t);
+ }
+ }
+ parseKid(e, t) {
+ if (Number.isInteger(t))
+ return this.tree.pageDict.objId !== e ? null : new StructElement({type: s, mcid: t, pageObjId: e});
+ let a = null;
+ t instanceof r.Ref ? (a = this.dict.xref.fetch(t)) : t instanceof r.Dict && (a = t);
+ if (!a) return null;
+ const n = a.getRaw('Pg');
+ n instanceof r.Ref && (e = n.toString());
+ const i = a.get('Type') instanceof r.Name ? a.get('Type').name : null;
+ return 'MCR' === i
+ ? this.tree.pageDict.objId !== e
+ ? null
+ : new StructElement({
+ type: o,
+ refObjId: a.getRaw('Stm') instanceof r.Ref ? a.getRaw('Stm').toString() : null,
+ pageObjId: e,
+ mcid: a.get('MCID'),
+ })
+ : 'OBJR' === i
+ ? this.tree.pageDict.objId !== e
+ ? null
+ : new StructElement({
+ type: c,
+ refObjId: a.getRaw('Obj') instanceof r.Ref ? a.getRaw('Obj').toString() : null,
+ pageObjId: e,
+ })
+ : new StructElement({type: l, dict: a});
+ }
+ }
+ class StructElement {
+ constructor({type: e, dict: t = null, mcid: a = null, pageObjId: r = null, refObjId: n = null}) {
+ this.type = e;
+ this.dict = t;
+ this.mcid = a;
+ this.pageObjId = r;
+ this.refObjId = n;
+ this.parentNode = null;
+ }
+ }
+ t.StructTreePage = class StructTreePage {
+ constructor(e, t) {
+ this.root = e;
+ this.rootDict = e ? e.dict : null;
+ this.pageDict = t;
+ this.nodes = [];
+ }
+ parse() {
+ if (!this.root || !this.rootDict) return;
+ const e = this.rootDict.get('ParentTree');
+ if (!e) return;
+ const t = this.pageDict.get('StructParents');
+ if (!Number.isInteger(t)) return;
+ const a = new i.NumberTree(e, this.rootDict.xref).get(t);
+ if (!Array.isArray(a)) return;
+ const n = new Map();
+ for (const e of a) e instanceof r.Ref && this.addNode(this.rootDict.xref.fetch(e), n);
+ }
+ addNode(e, t, a = 0) {
+ if (a > 40) {
+ (0, n.warn)('StructTree MAX_DEPTH reached.');
+ return null;
+ }
+ if (t.has(e)) return t.get(e);
+ const i = new StructElementNode(this, e);
+ t.set(e, i);
+ const s = e.get('P');
+ if (!s || (0, r.isName)(s.get('Type'), 'StructTreeRoot')) {
+ this.addTopLevelNode(e, i) || t.delete(e);
+ return i;
+ }
+ const o = this.addNode(s, t, a + 1);
+ if (!o) return i;
+ let c = !1;
+ for (const t of o.kids)
+ if (t.type === l && t.dict === e) {
+ t.parentNode = i;
+ c = !0;
+ }
+ c || t.delete(e);
+ return i;
+ }
+ addTopLevelNode(e, t) {
+ const a = this.rootDict.get('K');
+ if (!a) return !1;
+ if (a instanceof r.Dict) {
+ if (a.objId !== e.objId) return !1;
+ this.nodes[0] = t;
+ return !0;
+ }
+ if (!Array.isArray(a)) return !0;
+ let n = !1;
+ for (let r = 0; r < a.length; r++) {
+ const i = a[r];
+ if (i && i.toString() === e.objId) {
+ this.nodes[r] = t;
+ n = !0;
+ }
+ }
+ return n;
+ }
+ get serializable() {
+ function nodeToSerializable(e, t, a = 0) {
+ if (a > 40) {
+ (0, n.warn)('StructTree too deep to be fully serialized.');
+ return;
+ }
+ const r = Object.create(null);
+ r.role = e.role;
+ r.children = [];
+ t.children.push(r);
+ const i = e.dict.get('Alt');
+ 'string' == typeof i && (r.alt = (0, n.stringToPDFString)(i));
+ const h = e.dict.get('Lang');
+ 'string' == typeof h && (r.lang = (0, n.stringToPDFString)(h));
+ for (const t of e.kids) {
+ const e = t.type === l ? t.parentNode : null;
+ e
+ ? nodeToSerializable(e, r, a + 1)
+ : t.type === s || t.type === o
+ ? r.children.push({type: 'content', id: `page${t.pageObjId}_mcid${t.mcid}`})
+ : t.type === c && r.children.push({type: 'object', id: t.refObjId});
+ }
+ }
+ const e = Object.create(null);
+ e.children = [];
+ e.role = 'Root';
+ for (const t of this.nodes) t && nodeToSerializable(t, e);
+ return e;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ObjectLoader = void 0;
+ var r = a(5),
+ n = a(7),
+ i = a(6),
+ s = a(2);
+ function addChildren(e, t) {
+ if (e instanceof r.Dict) e = e.getRawValues();
+ else if (e instanceof n.BaseStream) e = e.dict.getRawValues();
+ else if (!Array.isArray(e)) return;
+ for (const i of e)
+ ((a = i) instanceof r.Ref || a instanceof r.Dict || a instanceof n.BaseStream || Array.isArray(a)) &&
+ t.push(i);
+ var a;
+ }
+ t.ObjectLoader = class ObjectLoader {
+ constructor(e, t, a) {
+ this.dict = e;
+ this.keys = t;
+ this.xref = a;
+ this.refSet = null;
+ }
+ async load() {
+ if (this.xref.stream.isDataLoaded) return;
+ const {keys: e, dict: t} = this;
+ this.refSet = new r.RefSet();
+ const a = [];
+ for (let r = 0, n = e.length; r < n; r++) {
+ const n = t.getRaw(e[r]);
+ void 0 !== n && a.push(n);
+ }
+ return this._walk(a);
+ }
+ async _walk(e) {
+ const t = [],
+ a = [];
+ for (; e.length; ) {
+ let o = e.pop();
+ if (o instanceof r.Ref) {
+ if (this.refSet.has(o)) continue;
+ try {
+ this.refSet.put(o);
+ o = this.xref.fetch(o);
+ } catch (e) {
+ if (!(e instanceof i.MissingDataException)) {
+ (0, s.warn)(`ObjectLoader._walk - requesting all data: "${e}".`);
+ this.refSet = null;
+ const {manager: t} = this.xref.stream;
+ return t.requestAllChunks();
+ }
+ t.push(o);
+ a.push({begin: e.begin, end: e.end});
+ }
+ }
+ if (o instanceof n.BaseStream) {
+ const e = o.getBaseStreams();
+ if (e) {
+ let r = !1;
+ for (const t of e)
+ if (!t.isDataLoaded) {
+ r = !0;
+ a.push({begin: t.start, end: t.end});
+ }
+ r && t.push(o);
+ }
+ }
+ addChildren(o, e);
+ }
+ if (a.length) {
+ await this.xref.stream.manager.requestRanges(a);
+ for (const e of t) e instanceof r.Ref && this.refSet.remove(e);
+ return this._walk(t);
+ }
+ this.refSet = null;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.XFAFactory = void 0;
+ var r = a(77),
+ n = a(81),
+ i = a(87),
+ s = a(85),
+ o = a(78),
+ c = a(2),
+ l = a(88),
+ h = a(98);
+ class XFAFactory {
+ constructor(e) {
+ try {
+ this.root = new l.XFAParser().parse(XFAFactory._createDocument(e));
+ const t = new n.Binder(this.root);
+ this.form = t.bind();
+ this.dataHandler = new i.DataHandler(this.root, t.getData());
+ this.form[r.$globalData].template = this.form;
+ } catch (e) {
+ (0, c.warn)(`XFA - an error occurred during parsing and binding: ${e}`);
+ }
+ }
+ isValid() {
+ return this.root && this.form;
+ }
+ _createPagesHelper() {
+ const e = this.form[r.$toPages]();
+ return new Promise((t, a) => {
+ const nextIteration = () => {
+ try {
+ const a = e.next();
+ a.done ? t(a.value) : setTimeout(nextIteration, 0);
+ } catch (e) {
+ a(e);
+ }
+ };
+ setTimeout(nextIteration, 0);
+ });
+ }
+ async _createPages() {
+ try {
+ this.pages = await this._createPagesHelper();
+ this.dims = this.pages.children.map((e) => {
+ const {width: t, height: a} = e.attributes.style;
+ return [0, 0, parseInt(t), parseInt(a)];
+ });
+ } catch (e) {
+ (0, c.warn)(`XFA - an error occurred during layout: ${e}`);
+ }
+ }
+ getBoundingBox(e) {
+ return this.dims[e];
+ }
+ async getNumPages() {
+ this.pages || (await this._createPages());
+ return this.dims.length;
+ }
+ setImages(e) {
+ this.form[r.$globalData].images = e;
+ }
+ setFonts(e) {
+ this.form[r.$globalData].fontFinder = new s.FontFinder(e);
+ const t = [];
+ for (let e of this.form[r.$globalData].usedTypefaces) {
+ e = (0, o.stripQuotes)(e);
+ this.form[r.$globalData].fontFinder.find(e) || t.push(e);
+ }
+ return t.length > 0 ? t : null;
+ }
+ appendFonts(e, t) {
+ this.form[r.$globalData].fontFinder.add(e, t);
+ }
+ async getPages() {
+ this.pages || (await this._createPages());
+ const e = this.pages;
+ this.pages = null;
+ return e;
+ }
+ serializeData(e) {
+ return this.dataHandler.serialize(e);
+ }
+ static _createDocument(e) {
+ return e['/xdp:xdp'] ? Object.values(e).join('') : e['xdp:xdp'];
+ }
+ static getRichTextAsHtml(e) {
+ if (!e || 'string' != typeof e) return null;
+ try {
+ let t = new l.XFAParser(h.XhtmlNamespace, !0).parse(e);
+ if (!['body', 'xhtml'].includes(t[r.$nodeName])) {
+ const e = h.XhtmlNamespace.body({});
+ e[r.$appendChild](t);
+ t = e;
+ }
+ const a = t[r.$toHTML]();
+ if (!a.success) return null;
+ const {html: n} = a,
+ {attributes: i} = n;
+ if (i) {
+ i.class && (i.class = i.class.filter((e) => !e.startsWith('xfa')));
+ i.dir = 'auto';
+ }
+ return {html: n, str: t[r.$text]()};
+ } catch (e) {
+ (0, c.warn)(`XFA - an error occurred during parsing of rich text: ${e}`);
+ }
+ return null;
+ }
+ }
+ t.XFAFactory = XFAFactory;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.XmlObject =
+ t.XFAObjectArray =
+ t.XFAObject =
+ t.XFAAttribute =
+ t.StringObject =
+ t.OptionObject =
+ t.Option10 =
+ t.Option01 =
+ t.IntegerObject =
+ t.ContentObject =
+ t.$uid =
+ t.$toStyle =
+ t.$toString =
+ t.$toPages =
+ t.$toHTML =
+ t.$text =
+ t.$tabIndex =
+ t.$setValue =
+ t.$setSetAttributes =
+ t.$setId =
+ t.$searchNode =
+ t.$root =
+ t.$resolvePrototypes =
+ t.$removeChild =
+ t.$pushPara =
+ t.$pushGlyphs =
+ t.$popPara =
+ t.$onText =
+ t.$onChildCheck =
+ t.$onChild =
+ t.$nsAttributes =
+ t.$nodeName =
+ t.$namespaceId =
+ t.$isUsable =
+ t.$isTransparent =
+ t.$isThereMoreWidth =
+ t.$isSplittable =
+ t.$isNsAgnostic =
+ t.$isDescendent =
+ t.$isDataValue =
+ t.$isCDATAXml =
+ t.$isBindable =
+ t.$insertAt =
+ t.$indexOf =
+ t.$ids =
+ t.$hasSettableValue =
+ t.$globalData =
+ t.$getTemplateRoot =
+ t.$getSubformParent =
+ t.$getRealChildrenByNameIt =
+ t.$getParent =
+ t.$getNextPage =
+ t.$getExtra =
+ t.$getDataValue =
+ t.$getContainedChildren =
+ t.$getChildrenByNameIt =
+ t.$getChildrenByName =
+ t.$getChildrenByClass =
+ t.$getChildren =
+ t.$getAvailableSpace =
+ t.$getAttributes =
+ t.$getAttributeIt =
+ t.$flushHTML =
+ t.$finalize =
+ t.$extra =
+ t.$dump =
+ t.$data =
+ t.$content =
+ t.$consumed =
+ t.$clone =
+ t.$cleanup =
+ t.$cleanPage =
+ t.$clean =
+ t.$childrenToHTML =
+ t.$appendChild =
+ t.$addHTML =
+ t.$acceptWhitespace =
+ void 0;
+ var r = a(78),
+ n = a(2),
+ i = a(6),
+ s = a(79),
+ o = a(80);
+ const c = Symbol();
+ t.$acceptWhitespace = c;
+ const l = Symbol();
+ t.$addHTML = l;
+ const h = Symbol();
+ t.$appendChild = h;
+ const u = Symbol();
+ t.$childrenToHTML = u;
+ const d = Symbol();
+ t.$clean = d;
+ const f = Symbol();
+ t.$cleanPage = f;
+ const g = Symbol();
+ t.$cleanup = g;
+ const p = Symbol();
+ t.$clone = p;
+ const m = Symbol();
+ t.$consumed = m;
+ const b = Symbol('content');
+ t.$content = b;
+ const y = Symbol('data');
+ t.$data = y;
+ const w = Symbol();
+ t.$dump = w;
+ const S = Symbol('extra');
+ t.$extra = S;
+ const x = Symbol();
+ t.$finalize = x;
+ const k = Symbol();
+ t.$flushHTML = k;
+ const C = Symbol();
+ t.$getAttributeIt = C;
+ const v = Symbol();
+ t.$getAttributes = v;
+ const F = Symbol();
+ t.$getAvailableSpace = F;
+ const O = Symbol();
+ t.$getChildrenByClass = O;
+ const T = Symbol();
+ t.$getChildrenByName = T;
+ const M = Symbol();
+ t.$getChildrenByNameIt = M;
+ const E = Symbol();
+ t.$getDataValue = E;
+ const D = Symbol();
+ t.$getExtra = D;
+ const N = Symbol();
+ t.$getRealChildrenByNameIt = N;
+ const R = Symbol();
+ t.$getChildren = R;
+ const L = Symbol();
+ t.$getContainedChildren = L;
+ const j = Symbol();
+ t.$getNextPage = j;
+ const $ = Symbol();
+ t.$getSubformParent = $;
+ const _ = Symbol();
+ t.$getParent = _;
+ const U = Symbol();
+ t.$getTemplateRoot = U;
+ const X = Symbol();
+ t.$globalData = X;
+ const H = Symbol();
+ t.$hasSettableValue = H;
+ const q = Symbol();
+ t.$ids = q;
+ const z = Symbol();
+ t.$indexOf = z;
+ const W = Symbol();
+ t.$insertAt = W;
+ const G = Symbol();
+ t.$isCDATAXml = G;
+ const V = Symbol();
+ t.$isBindable = V;
+ const K = Symbol();
+ t.$isDataValue = K;
+ const Y = Symbol();
+ t.$isDescendent = Y;
+ const J = Symbol();
+ t.$isNsAgnostic = J;
+ const Z = Symbol();
+ t.$isSplittable = Z;
+ const Q = Symbol();
+ t.$isThereMoreWidth = Q;
+ const ee = Symbol();
+ t.$isTransparent = ee;
+ const te = Symbol();
+ t.$isUsable = te;
+ const ae = Symbol(),
+ re = Symbol('namespaceId');
+ t.$namespaceId = re;
+ const ne = Symbol('nodeName');
+ t.$nodeName = ne;
+ const ie = Symbol();
+ t.$nsAttributes = ie;
+ const se = Symbol();
+ t.$onChild = se;
+ const oe = Symbol();
+ t.$onChildCheck = oe;
+ const ce = Symbol();
+ t.$onText = ce;
+ const le = Symbol();
+ t.$pushGlyphs = le;
+ const he = Symbol();
+ t.$popPara = he;
+ const ue = Symbol();
+ t.$pushPara = ue;
+ const de = Symbol();
+ t.$removeChild = de;
+ const fe = Symbol('root');
+ t.$root = fe;
+ const ge = Symbol();
+ t.$resolvePrototypes = ge;
+ const pe = Symbol();
+ t.$searchNode = pe;
+ const me = Symbol();
+ t.$setId = me;
+ const be = Symbol();
+ t.$setSetAttributes = be;
+ const ye = Symbol();
+ t.$setValue = ye;
+ const we = Symbol();
+ t.$tabIndex = we;
+ const Se = Symbol();
+ t.$text = Se;
+ const xe = Symbol();
+ t.$toPages = xe;
+ const Ae = Symbol();
+ t.$toHTML = Ae;
+ const ke = Symbol();
+ t.$toString = ke;
+ const Ce = Symbol();
+ t.$toStyle = Ce;
+ const ve = Symbol('uid');
+ t.$uid = ve;
+ const Fe = Symbol(),
+ Oe = Symbol(),
+ Te = Symbol(),
+ Ie = Symbol('_children'),
+ Me = Symbol(),
+ Pe = Symbol(),
+ Ee = Symbol(),
+ De = Symbol(),
+ Ne = Symbol(),
+ Be = Symbol(),
+ Re = Symbol(),
+ Le = Symbol(),
+ je = Symbol(),
+ $e = Symbol('parent'),
+ _e = Symbol(),
+ Ue = Symbol(),
+ Xe = Symbol();
+ let He = 0;
+ const qe = s.NamespaceIds.datasets.id;
+ class XFAObject {
+ constructor(e, t, a = !1) {
+ this[re] = e;
+ this[ne] = t;
+ this[Re] = a;
+ this[$e] = null;
+ this[Ie] = [];
+ this[ve] = `${t}${He++}`;
+ this[X] = null;
+ }
+ [se](e) {
+ if (!this[Re] || !this[oe](e)) return !1;
+ const t = e[ne],
+ a = this[t];
+ if (!(a instanceof XFAObjectArray)) {
+ null !== a && this[de](a);
+ this[t] = e;
+ this[h](e);
+ return !0;
+ }
+ if (a.push(e)) {
+ this[h](e);
+ return !0;
+ }
+ let r = '';
+ this.id ? (r = ` (id: ${this.id})`) : this.name && (r = ` (name: ${this.name} ${this.h.value})`);
+ (0, n.warn)(`XFA - node "${this[ne]}"${r} has already enough "${t}"!`);
+ return !1;
+ }
+ [oe](e) {
+ return this.hasOwnProperty(e[ne]) && e[re] === this[re];
+ }
+ [J]() {
+ return !1;
+ }
+ [c]() {
+ return !1;
+ }
+ [G]() {
+ return !1;
+ }
+ [V]() {
+ return !1;
+ }
+ [he]() {
+ this.para && this[U]()[S].paraStack.pop();
+ }
+ [ue]() {
+ this[U]()[S].paraStack.push(this.para);
+ }
+ [me](e) {
+ this.id && this[re] === s.NamespaceIds.template.id && e.set(this.id, this);
+ }
+ [U]() {
+ return this[X].template;
+ }
+ [Z]() {
+ return !1;
+ }
+ [Q]() {
+ return !1;
+ }
+ [h](e) {
+ e[$e] = this;
+ this[Ie].push(e);
+ !e[X] && this[X] && (e[X] = this[X]);
+ }
+ [de](e) {
+ const t = this[Ie].indexOf(e);
+ this[Ie].splice(t, 1);
+ }
+ [H]() {
+ return this.hasOwnProperty('value');
+ }
+ [ye](e) {}
+ [ce](e) {}
+ [x]() {}
+ [d](e) {
+ delete this[Re];
+ if (this[g]) {
+ e.clean(this[g]);
+ delete this[g];
+ }
+ }
+ [z](e) {
+ return this[Ie].indexOf(e);
+ }
+ [W](e, t) {
+ t[$e] = this;
+ this[Ie].splice(e, 0, t);
+ !t[X] && this[X] && (t[X] = this[X]);
+ }
+ [ee]() {
+ return !this.name;
+ }
+ [ae]() {
+ return '';
+ }
+ [Se]() {
+ return 0 === this[Ie].length ? this[b] : this[Ie].map((e) => e[Se]()).join('');
+ }
+ get [Te]() {
+ const e = Object.getPrototypeOf(this);
+ if (!e._attributes) {
+ const t = (e._attributes = new Set());
+ for (const e of Object.getOwnPropertyNames(this)) {
+ if (null === this[e] || this[e] instanceof XFAObject || this[e] instanceof XFAObjectArray) break;
+ t.add(e);
+ }
+ }
+ return (0, n.shadow)(this, Te, e._attributes);
+ }
+ [Y](e) {
+ let t = this;
+ for (; t; ) {
+ if (t === e) return !0;
+ t = t[_]();
+ }
+ return !1;
+ }
+ [_]() {
+ return this[$e];
+ }
+ [$]() {
+ return this[_]();
+ }
+ [R](e = null) {
+ return e ? this[e] : this[Ie];
+ }
+ [w]() {
+ const e = Object.create(null);
+ this[b] && (e.$content = this[b]);
+ for (const t of Object.getOwnPropertyNames(this)) {
+ const a = this[t];
+ null !== a &&
+ (a instanceof XFAObject
+ ? (e[t] = a[w]())
+ : a instanceof XFAObjectArray
+ ? a.isEmpty() || (e[t] = a.dump())
+ : (e[t] = a));
+ }
+ return e;
+ }
+ [Ce]() {
+ return null;
+ }
+ [Ae]() {
+ return r.HTMLResult.EMPTY;
+ }
+ *[L]() {
+ for (const e of this[R]()) yield e;
+ }
+ *[De](e, t) {
+ for (const a of this[L]())
+ if (!e || t === e.has(a[ne])) {
+ const e = this[F](),
+ t = a[Ae](e);
+ t.success || (this[S].failingNode = a);
+ yield t;
+ }
+ }
+ [k]() {
+ return null;
+ }
+ [l](e, t) {
+ this[S].children.push(e);
+ }
+ [F]() {}
+ [u]({filter: e = null, include: t = !0}) {
+ if (this[S].generator) {
+ const e = this[F](),
+ t = this[S].failingNode[Ae](e);
+ if (!t.success) return t;
+ t.html && this[l](t.html, t.bbox);
+ delete this[S].failingNode;
+ } else this[S].generator = this[De](e, t);
+ for (;;) {
+ const e = this[S].generator.next();
+ if (e.done) break;
+ const t = e.value;
+ if (!t.success) return t;
+ t.html && this[l](t.html, t.bbox);
+ }
+ this[S].generator = null;
+ return r.HTMLResult.EMPTY;
+ }
+ [be](e) {
+ this[Ue] = new Set(Object.keys(e));
+ }
+ [Be](e) {
+ const t = this[Te],
+ a = this[Ue];
+ return [...e].filter((e) => t.has(e) && !a.has(e));
+ }
+ [ge](e, t = new Set()) {
+ for (const a of this[Ie]) a[_e](e, t);
+ }
+ [_e](e, t) {
+ const a = this[Ne](e, t);
+ a ? this[Fe](a, e, t) : this[ge](e, t);
+ }
+ [Ne](e, t) {
+ const {use: a, usehref: r} = this;
+ if (!a && !r) return null;
+ let i = null,
+ s = null,
+ c = null,
+ l = a;
+ if (r) {
+ l = r;
+ r.startsWith('#som(') && r.endsWith(')')
+ ? (s = r.slice('#som('.length, r.length - 1))
+ : r.startsWith('.#som(') && r.endsWith(')')
+ ? (s = r.slice('.#som('.length, r.length - 1))
+ : r.startsWith('#')
+ ? (c = r.slice(1))
+ : r.startsWith('.#') && (c = r.slice(2));
+ } else a.startsWith('#') ? (c = a.slice(1)) : (s = a);
+ this.use = this.usehref = '';
+ if (c) i = e.get(c);
+ else {
+ i = (0, o.searchNode)(e.get(fe), this, s, !0, !1);
+ i && (i = i[0]);
+ }
+ if (!i) {
+ (0, n.warn)(`XFA - Invalid prototype reference: ${l}.`);
+ return null;
+ }
+ if (i[ne] !== this[ne]) {
+ (0, n.warn)(`XFA - Incompatible prototype: ${i[ne]} !== ${this[ne]}.`);
+ return null;
+ }
+ if (t.has(i)) {
+ (0, n.warn)('XFA - Cycle detected in prototypes use.');
+ return null;
+ }
+ t.add(i);
+ const h = i[Ne](e, t);
+ h && i[Fe](h, e, t);
+ i[ge](e, t);
+ t.delete(i);
+ return i;
+ }
+ [Fe](e, t, a) {
+ if (a.has(e)) {
+ (0, n.warn)('XFA - Cycle detected in prototypes use.');
+ return;
+ }
+ !this[b] && e[b] && (this[b] = e[b]);
+ new Set(a).add(e);
+ for (const t of this[Be](e[Ue])) {
+ this[t] = e[t];
+ this[Ue] && this[Ue].add(t);
+ }
+ for (const r of Object.getOwnPropertyNames(this)) {
+ if (this[Te].has(r)) continue;
+ const n = this[r],
+ i = e[r];
+ if (n instanceof XFAObjectArray) {
+ for (const e of n[Ie]) e[_e](t, a);
+ for (let r = n[Ie].length, s = i[Ie].length; r < s; r++) {
+ const i = e[Ie][r][p]();
+ if (!n.push(i)) break;
+ i[$e] = this;
+ this[Ie].push(i);
+ i[_e](t, a);
+ }
+ } else if (null === n) {
+ if (null !== i) {
+ const e = i[p]();
+ e[$e] = this;
+ this[r] = e;
+ this[Ie].push(e);
+ e[_e](t, a);
+ }
+ } else {
+ n[ge](t, a);
+ i && n[Fe](i, t, a);
+ }
+ }
+ }
+ static [Me](e) {
+ return Array.isArray(e)
+ ? e.map((e) => XFAObject[Me](e))
+ : 'object' == typeof e && null !== e
+ ? Object.assign({}, e)
+ : e;
+ }
+ [p]() {
+ const e = Object.create(Object.getPrototypeOf(this));
+ for (const t of Object.getOwnPropertySymbols(this))
+ try {
+ e[t] = this[t];
+ } catch (a) {
+ (0, n.shadow)(e, t, this[t]);
+ }
+ e[ve] = `${e[ne]}${He++}`;
+ e[Ie] = [];
+ for (const t of Object.getOwnPropertyNames(this)) {
+ if (this[Te].has(t)) {
+ e[t] = XFAObject[Me](this[t]);
+ continue;
+ }
+ const a = this[t];
+ e[t] = a instanceof XFAObjectArray ? new XFAObjectArray(a[Le]) : null;
+ }
+ for (const t of this[Ie]) {
+ const a = t[ne],
+ r = t[p]();
+ e[Ie].push(r);
+ r[$e] = e;
+ null === e[a] ? (e[a] = r) : e[a][Ie].push(r);
+ }
+ return e;
+ }
+ [R](e = null) {
+ return e ? this[Ie].filter((t) => t[ne] === e) : this[Ie];
+ }
+ [O](e) {
+ return this[e];
+ }
+ [T](e, t, a = !0) {
+ return Array.from(this[M](e, t, a));
+ }
+ *[M](e, t, a = !0) {
+ if ('parent' !== e) {
+ for (const a of this[Ie]) {
+ a[ne] === e && (yield a);
+ a.name === e && (yield a);
+ (t || a[ee]()) && (yield* a[M](e, t, !1));
+ }
+ a && this[Te].has(e) && (yield new XFAAttribute(this, e, this[e]));
+ } else yield this[$e];
+ }
+ }
+ t.XFAObject = XFAObject;
+ class XFAObjectArray {
+ constructor(e = 1 / 0) {
+ this[Le] = e;
+ this[Ie] = [];
+ }
+ push(e) {
+ if (this[Ie].length <= this[Le]) {
+ this[Ie].push(e);
+ return !0;
+ }
+ (0, n.warn)(`XFA - node "${e[ne]}" accepts no more than ${this[Le]} children`);
+ return !1;
+ }
+ isEmpty() {
+ return 0 === this[Ie].length;
+ }
+ dump() {
+ return 1 === this[Ie].length ? this[Ie][0][w]() : this[Ie].map((e) => e[w]());
+ }
+ [p]() {
+ const e = new XFAObjectArray(this[Le]);
+ e[Ie] = this[Ie].map((e) => e[p]());
+ return e;
+ }
+ get children() {
+ return this[Ie];
+ }
+ clear() {
+ this[Ie].length = 0;
+ }
+ }
+ t.XFAObjectArray = XFAObjectArray;
+ class XFAAttribute {
+ constructor(e, t, a) {
+ this[$e] = e;
+ this[ne] = t;
+ this[b] = a;
+ this[m] = !1;
+ this[ve] = 'attribute' + He++;
+ }
+ [_]() {
+ return this[$e];
+ }
+ [K]() {
+ return !0;
+ }
+ [E]() {
+ return this[b].trim();
+ }
+ [ye](e) {
+ e = e.value || '';
+ this[b] = e.toString();
+ }
+ [Se]() {
+ return this[b];
+ }
+ [Y](e) {
+ return this[$e] === e || this[$e][Y](e);
+ }
+ }
+ t.XFAAttribute = XFAAttribute;
+ class XmlObject extends XFAObject {
+ constructor(e, t, a = {}) {
+ super(e, t);
+ this[b] = '';
+ this[Pe] = null;
+ if ('#text' !== t) {
+ const e = new Map();
+ this[Oe] = e;
+ for (const [t, r] of Object.entries(a)) e.set(t, new XFAAttribute(this, t, r));
+ if (a.hasOwnProperty(ie)) {
+ const e = a[ie].xfa.dataNode;
+ void 0 !== e && ('dataGroup' === e ? (this[Pe] = !1) : 'dataValue' === e && (this[Pe] = !0));
+ }
+ }
+ this[m] = !1;
+ }
+ [ke](e) {
+ const t = this[ne];
+ if ('#text' === t) {
+ e.push((0, i.encodeToXmlString)(this[b]));
+ return;
+ }
+ const a = (0, n.utf8StringToString)(t),
+ r = this[re] === qe ? 'xfa:' : '';
+ e.push(`<${r}${a}`);
+ for (const [t, a] of this[Oe].entries()) {
+ const r = (0, n.utf8StringToString)(t);
+ e.push(` ${r}="${(0, i.encodeToXmlString)(a[b])}"`);
+ }
+ null !== this[Pe] &&
+ (this[Pe] ? e.push(' xfa:dataNode="dataValue"') : e.push(' xfa:dataNode="dataGroup"'));
+ if (this[b] || 0 !== this[Ie].length) {
+ e.push('>');
+ if (this[b]) 'string' == typeof this[b] ? e.push((0, i.encodeToXmlString)(this[b])) : this[b][ke](e);
+ else for (const t of this[Ie]) t[ke](e);
+ e.push(`${r}${a}>`);
+ } else e.push('/>');
+ }
+ [se](e) {
+ if (this[b]) {
+ const e = new XmlObject(this[re], '#text');
+ this[h](e);
+ e[b] = this[b];
+ this[b] = '';
+ }
+ this[h](e);
+ return !0;
+ }
+ [ce](e) {
+ this[b] += e;
+ }
+ [x]() {
+ if (this[b] && this[Ie].length > 0) {
+ const e = new XmlObject(this[re], '#text');
+ this[h](e);
+ e[b] = this[b];
+ delete this[b];
+ }
+ }
+ [Ae]() {
+ return '#text' === this[ne] ? r.HTMLResult.success({name: '#text', value: this[b]}) : r.HTMLResult.EMPTY;
+ }
+ [R](e = null) {
+ return e ? this[Ie].filter((t) => t[ne] === e) : this[Ie];
+ }
+ [v]() {
+ return this[Oe];
+ }
+ [O](e) {
+ const t = this[Oe].get(e);
+ return void 0 !== t ? t : this[R](e);
+ }
+ *[M](e, t) {
+ const a = this[Oe].get(e);
+ a && (yield a);
+ for (const a of this[Ie]) {
+ a[ne] === e && (yield a);
+ t && (yield* a[M](e, t));
+ }
+ }
+ *[C](e, t) {
+ const a = this[Oe].get(e);
+ !a || (t && a[m]) || (yield a);
+ for (const a of this[Ie]) yield* a[C](e, t);
+ }
+ *[N](e, t, a) {
+ for (const r of this[Ie]) {
+ r[ne] !== e || (a && r[m]) || (yield r);
+ t && (yield* r[N](e, t, a));
+ }
+ }
+ [K]() {
+ return null === this[Pe]
+ ? 0 === this[Ie].length || this[Ie][0][re] === s.NamespaceIds.xhtml.id
+ : this[Pe];
+ }
+ [E]() {
+ return null === this[Pe]
+ ? 0 === this[Ie].length
+ ? this[b].trim()
+ : this[Ie][0][re] === s.NamespaceIds.xhtml.id
+ ? this[Ie][0][Se]().trim()
+ : null
+ : this[b].trim();
+ }
+ [ye](e) {
+ e = e.value || '';
+ this[b] = e.toString();
+ }
+ [w](e = !1) {
+ const t = Object.create(null);
+ e && (t.$ns = this[re]);
+ this[b] && (t.$content = this[b]);
+ t.$name = this[ne];
+ t.children = [];
+ for (const a of this[Ie]) t.children.push(a[w](e));
+ t.attributes = Object.create(null);
+ for (const [e, a] of this[Oe]) t.attributes[e] = a[b];
+ return t;
+ }
+ }
+ t.XmlObject = XmlObject;
+ class ContentObject extends XFAObject {
+ constructor(e, t) {
+ super(e, t);
+ this[b] = '';
+ }
+ [ce](e) {
+ this[b] += e;
+ }
+ [x]() {}
+ }
+ t.ContentObject = ContentObject;
+ t.OptionObject = class OptionObject extends ContentObject {
+ constructor(e, t, a) {
+ super(e, t);
+ this[je] = a;
+ }
+ [x]() {
+ this[b] = (0, r.getKeyword)({
+ data: this[b],
+ defaultValue: this[je][0],
+ validate: (e) => this[je].includes(e),
+ });
+ }
+ [d](e) {
+ super[d](e);
+ delete this[je];
+ }
+ };
+ t.StringObject = class StringObject extends ContentObject {
+ [x]() {
+ this[b] = this[b].trim();
+ }
+ };
+ class IntegerObject extends ContentObject {
+ constructor(e, t, a, r) {
+ super(e, t);
+ this[Ee] = a;
+ this[Xe] = r;
+ }
+ [x]() {
+ this[b] = (0, r.getInteger)({data: this[b], defaultValue: this[Ee], validate: this[Xe]});
+ }
+ [d](e) {
+ super[d](e);
+ delete this[Ee];
+ delete this[Xe];
+ }
+ }
+ t.IntegerObject = IntegerObject;
+ t.Option01 = class Option01 extends IntegerObject {
+ constructor(e, t) {
+ super(e, t, 0, (e) => 1 === e);
+ }
+ };
+ t.Option10 = class Option10 extends IntegerObject {
+ constructor(e, t) {
+ super(e, t, 1, (e) => 0 === e);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.HTMLResult = void 0;
+ t.getBBox = function getBBox(e) {
+ const t = -1;
+ if (!e) return {x: t, y: t, width: t, height: t};
+ const a = e
+ .trim()
+ .split(/\s*,\s*/)
+ .map((e) => getMeasurement(e, '-1'));
+ if (a.length < 4 || a[2] < 0 || a[3] < 0) return {x: t, y: t, width: t, height: t};
+ const [r, n, i, s] = a;
+ return {x: r, y: n, width: i, height: s};
+ };
+ t.getColor = function getColor(e, t = [0, 0, 0]) {
+ let [a, r, n] = t;
+ if (!e) return {r: a, g: r, b: n};
+ const i = e
+ .trim()
+ .split(/\s*,\s*/)
+ .map((e) => Math.min(Math.max(0, parseInt(e.trim(), 10)), 255))
+ .map((e) => (isNaN(e) ? 0 : e));
+ if (i.length < 3) return {r: a, g: r, b: n};
+ [a, r, n] = i;
+ return {r: a, g: r, b: n};
+ };
+ t.getFloat = function getFloat({data: e, defaultValue: t, validate: a}) {
+ if (!e) return t;
+ e = e.trim();
+ const r = parseFloat(e);
+ if (!isNaN(r) && a(r)) return r;
+ return t;
+ };
+ t.getInteger = function getInteger({data: e, defaultValue: t, validate: a}) {
+ if (!e) return t;
+ e = e.trim();
+ const r = parseInt(e, 10);
+ if (!isNaN(r) && a(r)) return r;
+ return t;
+ };
+ t.getKeyword = getKeyword;
+ t.getMeasurement = getMeasurement;
+ t.getRatio = function getRatio(e) {
+ if (!e) return {num: 1, den: 1};
+ const t = e
+ .trim()
+ .split(/\s*:\s*/)
+ .map((e) => parseFloat(e))
+ .filter((e) => !isNaN(e));
+ 1 === t.length && t.push(1);
+ if (0 === t.length) return {num: 1, den: 1};
+ const [a, r] = t;
+ return {num: a, den: r};
+ };
+ t.getRelevant = function getRelevant(e) {
+ if (!e) return [];
+ return e
+ .trim()
+ .split(/\s+/)
+ .map((e) => ({excluded: '-' === e[0], viewname: e.substring(1)}));
+ };
+ t.getStringOption = function getStringOption(e, t) {
+ return getKeyword({data: e, defaultValue: t[0], validate: (e) => t.includes(e)});
+ };
+ t.stripQuotes = function stripQuotes(e) {
+ if (e.startsWith("'") || e.startsWith('"')) return e.slice(1, e.length - 1);
+ return e;
+ };
+ var r = a(2);
+ const n = {
+ pt: (e) => e,
+ cm: (e) => (e / 2.54) * 72,
+ mm: (e) => (e / 25.4) * 72,
+ in: (e) => 72 * e,
+ px: (e) => e,
+ },
+ i = /([+-]?\d+\.?\d*)(.*)/;
+ function getKeyword({data: e, defaultValue: t, validate: a}) {
+ return e && a((e = e.trim())) ? e : t;
+ }
+ function getMeasurement(e, t = '0') {
+ t = t || '0';
+ if (!e) return getMeasurement(t);
+ const a = e.trim().match(i);
+ if (!a) return getMeasurement(t);
+ const [, r, s] = a,
+ o = parseFloat(r);
+ if (isNaN(o)) return getMeasurement(t);
+ if (0 === o) return 0;
+ const c = n[s];
+ return c ? c(o) : o;
+ }
+ class HTMLResult {
+ static get FAILURE() {
+ return (0, r.shadow)(this, 'FAILURE', new HTMLResult(!1, null, null, null));
+ }
+ static get EMPTY() {
+ return (0, r.shadow)(this, 'EMPTY', new HTMLResult(!0, null, null, null));
+ }
+ constructor(e, t, a, r) {
+ this.success = e;
+ this.html = t;
+ this.bbox = a;
+ this.breakNode = r;
+ }
+ isBreak() {
+ return !!this.breakNode;
+ }
+ static breakNode(e) {
+ return new HTMLResult(!1, null, null, e);
+ }
+ static success(e, t = null) {
+ return new HTMLResult(!0, e, t, null);
+ }
+ }
+ t.HTMLResult = HTMLResult;
+ },
+ (e, t) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.NamespaceIds = t.$buildXFAObject = void 0;
+ const a = Symbol();
+ t.$buildXFAObject = a;
+ t.NamespaceIds = {
+ config: {id: 0, check: (e) => e.startsWith('http://www.xfa.org/schema/xci/')},
+ connectionSet: {id: 1, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-connection-set/')},
+ datasets: {id: 2, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-data/')},
+ form: {id: 3, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-form/')},
+ localeSet: {id: 4, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-locale-set/')},
+ pdf: {id: 5, check: (e) => 'http://ns.adobe.com/xdp/pdf/' === e},
+ signature: {id: 6, check: (e) => 'http://www.w3.org/2000/09/xmldsig#' === e},
+ sourceSet: {id: 7, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-source-set/')},
+ stylesheet: {id: 8, check: (e) => 'http://www.w3.org/1999/XSL/Transform' === e},
+ template: {id: 9, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-template/')},
+ xdc: {id: 10, check: (e) => e.startsWith('http://www.xfa.org/schema/xdc/')},
+ xdp: {id: 11, check: (e) => 'http://ns.adobe.com/xdp/' === e},
+ xfdf: {id: 12, check: (e) => 'http://ns.adobe.com/xfdf/' === e},
+ xhtml: {id: 13, check: (e) => 'http://www.w3.org/1999/xhtml' === e},
+ xmpmeta: {id: 14, check: (e) => 'http://ns.adobe.com/xmpmeta/' === e},
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.createDataNode = function createDataNode(e, t, a) {
+ const n = parseExpression(a);
+ if (!n) return null;
+ if (n.some((e) => e.operator === l)) return null;
+ const s = f.get(n[0].name);
+ let o = 0;
+ if (s) {
+ e = s(e, t);
+ o = 1;
+ } else e = t || e;
+ for (let t = n.length; o < t; o++) {
+ const {name: t, operator: a, index: s} = n[o];
+ if (!isFinite(s)) {
+ n[o].index = 0;
+ return createNodes(e, n.slice(o));
+ }
+ let u;
+ switch (a) {
+ case c:
+ u = e[r.$getChildrenByName](t, !1);
+ break;
+ case l:
+ u = e[r.$getChildrenByName](t, !0);
+ break;
+ case h:
+ u = e[r.$getChildrenByClass](t);
+ u = u instanceof r.XFAObjectArray ? u.children : [u];
+ }
+ if (0 === u.length) return createNodes(e, n.slice(o));
+ if (!(s < u.length)) {
+ n[o].index = s - u.length;
+ return createNodes(e, n.slice(o));
+ }
+ {
+ const t = u[s];
+ if (!(t instanceof r.XFAObject)) {
+ (0, i.warn)('XFA - Cannot create a node.');
+ return null;
+ }
+ e = t;
+ }
+ }
+ return null;
+ };
+ t.searchNode = function searchNode(e, t, a, n = !0, i = !0) {
+ const s = parseExpression(a, n);
+ if (!s) return null;
+ const o = f.get(s[0].name);
+ let u,
+ d = 0;
+ if (o) {
+ u = !0;
+ e = [o(e, t)];
+ d = 1;
+ } else {
+ u = null === t;
+ e = [t || e];
+ }
+ for (let a = s.length; d < a; d++) {
+ const {name: a, cacheName: n, operator: o, index: f} = s[d],
+ p = [];
+ for (const t of e) {
+ if (!(t instanceof r.XFAObject)) continue;
+ let e, s;
+ if (i) {
+ s = g.get(t);
+ if (!s) {
+ s = new Map();
+ g.set(t, s);
+ }
+ e = s.get(n);
+ }
+ if (!e) {
+ switch (o) {
+ case c:
+ e = t[r.$getChildrenByName](a, !1);
+ break;
+ case l:
+ e = t[r.$getChildrenByName](a, !0);
+ break;
+ case h:
+ e = t[r.$getChildrenByClass](a);
+ e = e instanceof r.XFAObjectArray ? e.children : [e];
+ }
+ i && s.set(n, e);
+ }
+ e.length > 0 && p.push(e);
+ }
+ if (0 !== p.length || u || 0 !== d)
+ e = isFinite(f) ? p.filter((e) => f < e.length).map((e) => e[f]) : p.flat();
+ else {
+ const a = t[r.$getParent]();
+ if (!(t = a)) return null;
+ d = -1;
+ e = [t];
+ }
+ }
+ if (0 === e.length) return null;
+ return e;
+ };
+ var r = a(77),
+ n = a(79),
+ i = a(2);
+ const s = /^[^.[]+/,
+ o = /^[^\]]+/,
+ c = 0,
+ l = 1,
+ h = 2,
+ u = 3,
+ d = 4,
+ f = new Map([
+ ['$data', (e, t) => (e.datasets ? e.datasets.data : e)],
+ ['$record', (e, t) => (e.datasets ? e.datasets.data : e)[r.$getChildren]()[0]],
+ ['$template', (e, t) => e.template],
+ ['$connectionSet', (e, t) => e.connectionSet],
+ ['$form', (e, t) => e.form],
+ ['$layout', (e, t) => e.layout],
+ ['$host', (e, t) => e.host],
+ ['$dataWindow', (e, t) => e.dataWindow],
+ ['$event', (e, t) => e.event],
+ ['!', (e, t) => e.datasets],
+ ['$xfa', (e, t) => e],
+ ['xfa', (e, t) => e],
+ ['$', (e, t) => t],
+ ]),
+ g = new WeakMap(),
+ p = n.NamespaceIds.datasets.id;
+ function parseExpression(e, t, a = !0) {
+ let r = e.match(s);
+ if (!r) return null;
+ let [n] = r;
+ const f = [{name: n, cacheName: '.' + n, index: 0, js: null, formCalc: null, operator: c}];
+ let g = n.length;
+ for (; g < e.length; ) {
+ const m = g;
+ if ('[' === e.charAt(g++)) {
+ r = e.slice(g).match(o);
+ if (!r) {
+ (0, i.warn)('XFA - Invalid index in SOM expression');
+ return null;
+ }
+ f.at(-1).index = '*' === (p = (p = r[0]).trim()) ? 1 / 0 : parseInt(p, 10) || 0;
+ g += r[0].length + 1;
+ continue;
+ }
+ let b;
+ switch (e.charAt(g)) {
+ case '.':
+ if (!t) return null;
+ g++;
+ b = l;
+ break;
+ case '#':
+ g++;
+ b = h;
+ break;
+ case '[':
+ if (a) {
+ (0, i.warn)(
+ 'XFA - SOM expression contains a FormCalc subexpression which is not supported for now.'
+ );
+ return null;
+ }
+ b = u;
+ break;
+ case '(':
+ if (a) {
+ (0, i.warn)(
+ 'XFA - SOM expression contains a JavaScript subexpression which is not supported for now.'
+ );
+ return null;
+ }
+ b = d;
+ break;
+ default:
+ b = c;
+ }
+ r = e.slice(g).match(s);
+ if (!r) break;
+ [n] = r;
+ g += n.length;
+ f.push({name: n, cacheName: e.slice(m, g), operator: b, index: 0, js: null, formCalc: null});
+ }
+ var p;
+ return f;
+ }
+ function createNodes(e, t) {
+ let a = null;
+ for (const {name: n, index: i} of t) {
+ for (let t = 0, s = isFinite(i) ? i : 0; t <= s; t++) {
+ const t = e[r.$namespaceId] === p ? -1 : e[r.$namespaceId];
+ a = new r.XmlObject(t, n);
+ e[r.$appendChild](a);
+ }
+ e = a;
+ }
+ return a;
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Binder = void 0;
+ var r = a(77),
+ n = a(82),
+ i = a(80),
+ s = a(79),
+ o = a(2);
+ const c = s.NamespaceIds.datasets.id;
+ function createText(e) {
+ const t = new n.Text({});
+ t[r.$content] = e;
+ return t;
+ }
+ t.Binder = class Binder {
+ constructor(e) {
+ this.root = e;
+ this.datasets = e.datasets;
+ e.datasets && e.datasets.data
+ ? (this.data = e.datasets.data)
+ : (this.data = new r.XmlObject(s.NamespaceIds.datasets.id, 'data'));
+ this.emptyMerge = 0 === this.data[r.$getChildren]().length;
+ this.root.form = this.form = e.template[r.$clone]();
+ }
+ _isConsumeData() {
+ return !this.emptyMerge && this._mergeMode;
+ }
+ _isMatchTemplate() {
+ return !this._isConsumeData();
+ }
+ bind() {
+ this._bindElement(this.form, this.data);
+ return this.form;
+ }
+ getData() {
+ return this.data;
+ }
+ _bindValue(e, t, a) {
+ e[r.$data] = t;
+ if (e[r.$hasSettableValue]())
+ if (t[r.$isDataValue]()) {
+ const a = t[r.$getDataValue]();
+ e[r.$setValue](createText(a));
+ } else if (e instanceof n.Field && e.ui && e.ui.choiceList && 'multiSelect' === e.ui.choiceList.open) {
+ const a = t[r.$getChildren]()
+ .map((e) => e[r.$content].trim())
+ .join('\n');
+ e[r.$setValue](createText(a));
+ } else this._isConsumeData() && (0, o.warn)("XFA - Nodes haven't the same type.");
+ else
+ !t[r.$isDataValue]() || this._isMatchTemplate()
+ ? this._bindElement(e, t)
+ : (0, o.warn)("XFA - Nodes haven't the same type.");
+ }
+ _findDataByNameToConsume(e, t, a, n) {
+ if (!e) return null;
+ let i, o;
+ for (let n = 0; n < 3; n++) {
+ i = a[r.$getRealChildrenByNameIt](e, !1, !0);
+ for (;;) {
+ o = i.next().value;
+ if (!o) break;
+ if (t === o[r.$isDataValue]()) return o;
+ }
+ if (a[r.$namespaceId] === s.NamespaceIds.datasets.id && 'data' === a[r.$nodeName]) break;
+ a = a[r.$getParent]();
+ }
+ if (!n) return null;
+ i = this.data[r.$getRealChildrenByNameIt](e, !0, !1);
+ o = i.next().value;
+ if (o) return o;
+ i = this.data[r.$getAttributeIt](e, !0);
+ o = i.next().value;
+ return o && o[r.$isDataValue]() ? o : null;
+ }
+ _setProperties(e, t) {
+ if (e.hasOwnProperty('setProperty'))
+ for (const {ref: a, target: s, connection: c} of e.setProperty.children) {
+ if (c) continue;
+ if (!a) continue;
+ const l = (0, i.searchNode)(this.root, t, a, !1, !1);
+ if (!l) {
+ (0, o.warn)(`XFA - Invalid reference: ${a}.`);
+ continue;
+ }
+ const [h] = l;
+ if (!h[r.$isDescendent](this.data)) {
+ (0, o.warn)('XFA - Invalid node: must be a data node.');
+ continue;
+ }
+ const u = (0, i.searchNode)(this.root, e, s, !1, !1);
+ if (!u) {
+ (0, o.warn)(`XFA - Invalid target: ${s}.`);
+ continue;
+ }
+ const [d] = u;
+ if (!d[r.$isDescendent](e)) {
+ (0, o.warn)('XFA - Invalid target: must be a property or subproperty.');
+ continue;
+ }
+ const f = d[r.$getParent]();
+ if (d instanceof n.SetProperty || f instanceof n.SetProperty) {
+ (0, o.warn)('XFA - Invalid target: cannot be a setProperty or one of its properties.');
+ continue;
+ }
+ if (d instanceof n.BindItems || f instanceof n.BindItems) {
+ (0, o.warn)('XFA - Invalid target: cannot be a bindItems or one of its properties.');
+ continue;
+ }
+ const g = h[r.$text](),
+ p = d[r.$nodeName];
+ if (d instanceof r.XFAAttribute) {
+ const e = Object.create(null);
+ e[p] = g;
+ const t = Reflect.construct(Object.getPrototypeOf(f).constructor, [e]);
+ f[p] = t[p];
+ } else if (d.hasOwnProperty(r.$content)) {
+ d[r.$data] = h;
+ d[r.$content] = g;
+ d[r.$finalize]();
+ } else (0, o.warn)('XFA - Invalid node to use in setProperty');
+ }
+ }
+ _bindItems(e, t) {
+ if (!e.hasOwnProperty('items') || !e.hasOwnProperty('bindItems') || e.bindItems.isEmpty()) return;
+ for (const t of e.items.children) e[r.$removeChild](t);
+ e.items.clear();
+ const a = new n.Items({}),
+ s = new n.Items({});
+ e[r.$appendChild](a);
+ e.items.push(a);
+ e[r.$appendChild](s);
+ e.items.push(s);
+ for (const {ref: n, labelRef: c, valueRef: l, connection: h} of e.bindItems.children) {
+ if (h) continue;
+ if (!n) continue;
+ const e = (0, i.searchNode)(this.root, t, n, !1, !1);
+ if (e)
+ for (const t of e) {
+ if (!t[r.$isDescendent](this.datasets)) {
+ (0, o.warn)(`XFA - Invalid ref (${n}): must be a datasets child.`);
+ continue;
+ }
+ const e = (0, i.searchNode)(this.root, t, c, !0, !1);
+ if (!e) {
+ (0, o.warn)(`XFA - Invalid label: ${c}.`);
+ continue;
+ }
+ const [h] = e;
+ if (!h[r.$isDescendent](this.datasets)) {
+ (0, o.warn)('XFA - Invalid label: must be a datasets child.');
+ continue;
+ }
+ const u = (0, i.searchNode)(this.root, t, l, !0, !1);
+ if (!u) {
+ (0, o.warn)(`XFA - Invalid value: ${l}.`);
+ continue;
+ }
+ const [d] = u;
+ if (!d[r.$isDescendent](this.datasets)) {
+ (0, o.warn)('XFA - Invalid value: must be a datasets child.');
+ continue;
+ }
+ const f = createText(h[r.$text]()),
+ g = createText(d[r.$text]());
+ a[r.$appendChild](f);
+ a.text.push(f);
+ s[r.$appendChild](g);
+ s.text.push(g);
+ }
+ else (0, o.warn)(`XFA - Invalid reference: ${n}.`);
+ }
+ }
+ _bindOccurrences(e, t, a) {
+ let n;
+ if (t.length > 1) {
+ n = e[r.$clone]();
+ n[r.$removeChild](n.occur);
+ n.occur = null;
+ }
+ this._bindValue(e, t[0], a);
+ this._setProperties(e, t[0]);
+ this._bindItems(e, t[0]);
+ if (1 === t.length) return;
+ const i = e[r.$getParent](),
+ s = e[r.$nodeName],
+ o = i[r.$indexOf](e);
+ for (let e = 1, c = t.length; e < c; e++) {
+ const c = t[e],
+ l = n[r.$clone]();
+ i[s].push(l);
+ i[r.$insertAt](o + e, l);
+ this._bindValue(l, c, a);
+ this._setProperties(l, c);
+ this._bindItems(l, c);
+ }
+ }
+ _createOccurrences(e) {
+ if (!this.emptyMerge) return;
+ const {occur: t} = e;
+ if (!t || t.initial <= 1) return;
+ const a = e[r.$getParent](),
+ n = e[r.$nodeName];
+ if (!(a[n] instanceof r.XFAObjectArray)) return;
+ let i;
+ i = e.name ? a[n].children.filter((t) => t.name === e.name).length : a[n].children.length;
+ const s = a[r.$indexOf](e) + 1,
+ o = t.initial - i;
+ if (o) {
+ const t = e[r.$clone]();
+ t[r.$removeChild](t.occur);
+ t.occur = null;
+ a[n].push(t);
+ a[r.$insertAt](s, t);
+ for (let e = 1; e < o; e++) {
+ const i = t[r.$clone]();
+ a[n].push(i);
+ a[r.$insertAt](s + e, i);
+ }
+ }
+ }
+ _getOccurInfo(e) {
+ const {name: t, occur: a} = e;
+ if (!a || !t) return [1, 1];
+ const r = -1 === a.max ? 1 / 0 : a.max;
+ return [a.min, r];
+ }
+ _setAndBind(e, t) {
+ this._setProperties(e, t);
+ this._bindItems(e, t);
+ this._bindElement(e, t);
+ }
+ _bindElement(e, t) {
+ const a = [];
+ this._createOccurrences(e);
+ for (const n of e[r.$getChildren]()) {
+ if (n[r.$data]) continue;
+ if (void 0 === this._mergeMode && 'subform' === n[r.$nodeName]) {
+ this._mergeMode = 'consumeData' === n.mergeMode;
+ const e = t[r.$getChildren]();
+ if (e.length > 0) this._bindOccurrences(n, [e[0]], null);
+ else if (this.emptyMerge) {
+ const e = t[r.$namespaceId] === c ? -1 : t[r.$namespaceId],
+ a = (n[r.$data] = new r.XmlObject(e, n.name || 'root'));
+ t[r.$appendChild](a);
+ this._bindElement(n, a);
+ }
+ continue;
+ }
+ if (!n[r.$isBindable]()) continue;
+ let e = !1,
+ s = null,
+ l = null,
+ h = null;
+ if (n.bind) {
+ switch (n.bind.match) {
+ case 'none':
+ this._setAndBind(n, t);
+ continue;
+ case 'global':
+ e = !0;
+ break;
+ case 'dataRef':
+ if (!n.bind.ref) {
+ (0, o.warn)(`XFA - ref is empty in node ${n[r.$nodeName]}.`);
+ this._setAndBind(n, t);
+ continue;
+ }
+ l = n.bind.ref;
+ }
+ n.bind.picture && (s = n.bind.picture[r.$content]);
+ }
+ const [u, d] = this._getOccurInfo(n);
+ if (l) {
+ h = (0, i.searchNode)(this.root, t, l, !0, !1);
+ if (null === h) {
+ h = (0, i.createDataNode)(this.data, t, l);
+ if (!h) continue;
+ this._isConsumeData() && (h[r.$consumed] = !0);
+ this._setAndBind(n, h);
+ continue;
+ }
+ this._isConsumeData() && (h = h.filter((e) => !e[r.$consumed]));
+ h.length > d ? (h = h.slice(0, d)) : 0 === h.length && (h = null);
+ h &&
+ this._isConsumeData() &&
+ h.forEach((e) => {
+ e[r.$consumed] = !0;
+ });
+ } else {
+ if (!n.name) {
+ this._setAndBind(n, t);
+ continue;
+ }
+ if (this._isConsumeData()) {
+ const a = [];
+ for (; a.length < d; ) {
+ const i = this._findDataByNameToConsume(n.name, n[r.$hasSettableValue](), t, e);
+ if (!i) break;
+ i[r.$consumed] = !0;
+ a.push(i);
+ }
+ h = a.length > 0 ? a : null;
+ } else {
+ h = t[r.$getRealChildrenByNameIt](n.name, !1, this.emptyMerge).next().value;
+ if (!h) {
+ if (0 === u) {
+ a.push(n);
+ continue;
+ }
+ const e = t[r.$namespaceId] === c ? -1 : t[r.$namespaceId];
+ h = n[r.$data] = new r.XmlObject(e, n.name);
+ this.emptyMerge && (h[r.$consumed] = !0);
+ t[r.$appendChild](h);
+ this._setAndBind(n, h);
+ continue;
+ }
+ this.emptyMerge && (h[r.$consumed] = !0);
+ h = [h];
+ }
+ }
+ h ? this._bindOccurrences(n, h, s) : u > 0 ? this._setAndBind(n, t) : a.push(n);
+ }
+ a.forEach((e) => e[r.$getParent]()[r.$removeChild](e));
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Value =
+ t.Text =
+ t.TemplateNamespace =
+ t.Template =
+ t.SetProperty =
+ t.Items =
+ t.Field =
+ t.BindItems =
+ void 0;
+ var r = a(77),
+ n = a(79),
+ i = a(83),
+ s = a(84),
+ o = a(78),
+ c = a(2),
+ l = a(85),
+ h = a(6),
+ u = a(80);
+ const d = n.NamespaceIds.template.id,
+ f = 'http://www.w3.org/2000/svg',
+ g = /^H(\d+)$/,
+ p = new Set([
+ 'image/gif',
+ 'image/jpeg',
+ 'image/jpg',
+ 'image/pjpeg',
+ 'image/png',
+ 'image/apng',
+ 'image/x-png',
+ 'image/bmp',
+ 'image/x-ms-bmp',
+ 'image/tiff',
+ 'image/tif',
+ 'application/octet-stream',
+ ]),
+ m = [
+ [[66, 77], 'image/bmp'],
+ [[255, 216, 255], 'image/jpeg'],
+ [[73, 73, 42, 0], 'image/tiff'],
+ [[77, 77, 0, 42], 'image/tiff'],
+ [[71, 73, 70, 56, 57, 97], 'image/gif'],
+ [[137, 80, 78, 71, 13, 10, 26, 10], 'image/png'],
+ ];
+ function getBorderDims(e) {
+ if (!e || !e.border) return {w: 0, h: 0};
+ const t = e.border[r.$getExtra]();
+ return t
+ ? {
+ w: t.widths[0] + t.widths[2] + t.insets[0] + t.insets[2],
+ h: t.widths[1] + t.widths[3] + t.insets[1] + t.insets[3],
+ }
+ : {w: 0, h: 0};
+ }
+ function hasMargin(e) {
+ return e.margin && (e.margin.topInset || e.margin.rightInset || e.margin.bottomInset || e.margin.leftInset);
+ }
+ function _setValue(e, t) {
+ if (!e.value) {
+ const t = new Value({});
+ e[r.$appendChild](t);
+ e.value = t;
+ }
+ e.value[r.$setValue](t);
+ }
+ function* getContainedChildren(e) {
+ for (const t of e[r.$getChildren]())
+ t instanceof SubformSet ? yield* t[r.$getContainedChildren]() : yield t;
+ }
+ function isRequired(e) {
+ return e.validate && 'error' === e.validate.nullTest;
+ }
+ function setTabIndex(e) {
+ for (; e; ) {
+ if (!e.traversal) {
+ e[r.$tabIndex] = e[r.$getParent]()[r.$tabIndex];
+ return;
+ }
+ if (e[r.$tabIndex]) return;
+ let t = null;
+ for (const a of e.traversal[r.$getChildren]())
+ if ('next' === a.operation) {
+ t = a;
+ break;
+ }
+ if (!t || !t.ref) {
+ e[r.$tabIndex] = e[r.$getParent]()[r.$tabIndex];
+ return;
+ }
+ const a = e[r.$getTemplateRoot]();
+ e[r.$tabIndex] = ++a[r.$tabIndex];
+ const n = a[r.$searchNode](t.ref, e);
+ if (!n) return;
+ e = n[0];
+ }
+ }
+ function applyAssist(e, t) {
+ const a = e.assist;
+ if (a) {
+ const e = a[r.$toHTML]();
+ e && (t.title = e);
+ const n = a.role.match(g);
+ if (n) {
+ const e = 'heading',
+ a = n[1];
+ t.role = e;
+ t['aria-level'] = a;
+ }
+ }
+ if ('table' === e.layout) t.role = 'table';
+ else if ('row' === e.layout) t.role = 'row';
+ else {
+ const a = e[r.$getParent]();
+ 'row' === a.layout &&
+ (a.assist && 'TH' === a.assist.role ? (t.role = 'columnheader') : (t.role = 'cell'));
+ }
+ }
+ function ariaLabel(e) {
+ if (!e.assist) return null;
+ const t = e.assist;
+ return t.speak && '' !== t.speak[r.$content]
+ ? t.speak[r.$content]
+ : t.toolTip
+ ? t.toolTip[r.$content]
+ : null;
+ }
+ function valueToHtml(e) {
+ return o.HTMLResult.success({
+ name: 'div',
+ attributes: {class: ['xfaRich'], style: Object.create(null)},
+ children: [{name: 'span', attributes: {style: Object.create(null)}, value: e}],
+ });
+ }
+ function setFirstUnsplittable(e) {
+ const t = e[r.$getTemplateRoot]();
+ if (null === t[r.$extra].firstUnsplittable) {
+ t[r.$extra].firstUnsplittable = e;
+ t[r.$extra].noLayoutFailure = !0;
+ }
+ }
+ function unsetFirstUnsplittable(e) {
+ const t = e[r.$getTemplateRoot]();
+ t[r.$extra].firstUnsplittable === e && (t[r.$extra].noLayoutFailure = !1);
+ }
+ function handleBreak(e) {
+ if (e[r.$extra]) return !1;
+ e[r.$extra] = Object.create(null);
+ if ('auto' === e.targetType) return !1;
+ const t = e[r.$getTemplateRoot]();
+ let a = null;
+ if (e.target) {
+ a = t[r.$searchNode](e.target, e[r.$getParent]());
+ if (!a) return !1;
+ a = a[0];
+ }
+ const {currentPageArea: n, currentContentArea: i} = t[r.$extra];
+ if ('pageArea' === e.targetType) {
+ a instanceof PageArea || (a = null);
+ if (e.startNew) {
+ e[r.$extra].target = a || n;
+ return !0;
+ }
+ if (a && a !== n) {
+ e[r.$extra].target = a;
+ return !0;
+ }
+ return !1;
+ }
+ a instanceof ContentArea || (a = null);
+ const s = a && a[r.$getParent]();
+ let o,
+ c = s;
+ if (e.startNew)
+ if (a) {
+ const e = s.contentArea.children,
+ t = e.indexOf(i),
+ r = e.indexOf(a);
+ -1 !== t && t < r && (c = null);
+ o = r - 1;
+ } else o = n.contentArea.children.indexOf(i);
+ else {
+ if (!a || a === i) return !1;
+ o = s.contentArea.children.indexOf(a) - 1;
+ c = s === n ? null : s;
+ }
+ e[r.$extra].target = c;
+ e[r.$extra].index = o;
+ return !0;
+ }
+ function handleOverflow(e, t, a) {
+ const n = e[r.$getTemplateRoot](),
+ i = n[r.$extra].noLayoutFailure,
+ s = t[r.$getSubformParent];
+ t[r.$getSubformParent] = () => e;
+ n[r.$extra].noLayoutFailure = !0;
+ const o = t[r.$toHTML](a);
+ e[r.$addHTML](o.html, o.bbox);
+ n[r.$extra].noLayoutFailure = i;
+ t[r.$getSubformParent] = s;
+ }
+ class AppearanceFilter extends r.StringObject {
+ constructor(e) {
+ super(d, 'appearanceFilter');
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Arc extends r.XFAObject {
+ constructor(e) {
+ super(d, 'arc', !0);
+ this.circular = (0, o.getInteger)({data: e.circular, defaultValue: 0, validate: (e) => 1 === e});
+ this.hand = (0, o.getStringOption)(e.hand, ['even', 'left', 'right']);
+ this.id = e.id || '';
+ this.startAngle = (0, o.getFloat)({data: e.startAngle, defaultValue: 0, validate: (e) => !0});
+ this.sweepAngle = (0, o.getFloat)({data: e.sweepAngle, defaultValue: 360, validate: (e) => !0});
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.edge = null;
+ this.fill = null;
+ }
+ [r.$toHTML]() {
+ const e = this.edge || new Edge({}),
+ t = e[r.$toStyle](),
+ a = Object.create(null);
+ this.fill && 'visible' === this.fill.presence
+ ? Object.assign(a, this.fill[r.$toStyle]())
+ : (a.fill = 'transparent');
+ a.strokeWidth = (0, s.measureToString)('visible' === e.presence ? e.thickness : 0);
+ a.stroke = t.color;
+ let n;
+ const i = {xmlns: f, style: {width: '100%', height: '100%', overflow: 'visible'}};
+ if (360 === this.sweepAngle)
+ n = {name: 'ellipse', attributes: {xmlns: f, cx: '50%', cy: '50%', rx: '50%', ry: '50%', style: a}};
+ else {
+ const e = (this.startAngle * Math.PI) / 180,
+ t = (this.sweepAngle * Math.PI) / 180,
+ r = this.sweepAngle > 180 ? 1 : 0,
+ [s, o, c, l] = [
+ 50 * (1 + Math.cos(e)),
+ 50 * (1 - Math.sin(e)),
+ 50 * (1 + Math.cos(e + t)),
+ 50 * (1 - Math.sin(e + t)),
+ ];
+ n = {
+ name: 'path',
+ attributes: {
+ xmlns: f,
+ d: `M ${s} ${o} A 50 50 0 ${r} 0 ${c} ${l}`,
+ vectorEffect: 'non-scaling-stroke',
+ style: a,
+ },
+ };
+ Object.assign(i, {viewBox: '0 0 100 100', preserveAspectRatio: 'none'});
+ }
+ const c = {name: 'svg', children: [n], attributes: i};
+ if (hasMargin(this[r.$getParent]()[r.$getParent]()))
+ return o.HTMLResult.success({
+ name: 'div',
+ attributes: {style: {display: 'inline', width: '100%', height: '100%'}},
+ children: [c],
+ });
+ c.attributes.style.position = 'absolute';
+ return o.HTMLResult.success(c);
+ }
+ }
+ class Area extends r.XFAObject {
+ constructor(e) {
+ super(d, 'area', !0);
+ this.colSpan = (0, o.getInteger)({data: e.colSpan, defaultValue: 1, validate: (e) => e >= 1 || -1 === e});
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.x = (0, o.getMeasurement)(e.x, '0pt');
+ this.y = (0, o.getMeasurement)(e.y, '0pt');
+ this.desc = null;
+ this.extras = null;
+ this.area = new r.XFAObjectArray();
+ this.draw = new r.XFAObjectArray();
+ this.exObject = new r.XFAObjectArray();
+ this.exclGroup = new r.XFAObjectArray();
+ this.field = new r.XFAObjectArray();
+ this.subform = new r.XFAObjectArray();
+ this.subformSet = new r.XFAObjectArray();
+ }
+ *[r.$getContainedChildren]() {
+ yield* getContainedChildren(this);
+ }
+ [r.$isTransparent]() {
+ return !0;
+ }
+ [r.$isBindable]() {
+ return !0;
+ }
+ [r.$addHTML](e, t) {
+ const [a, n, i, s] = t;
+ this[r.$extra].width = Math.max(this[r.$extra].width, a + i);
+ this[r.$extra].height = Math.max(this[r.$extra].height, n + s);
+ this[r.$extra].children.push(e);
+ }
+ [r.$getAvailableSpace]() {
+ return this[r.$extra].availableSpace;
+ }
+ [r.$toHTML](e) {
+ const t = (0, s.toStyle)(this, 'position'),
+ a = {style: t, id: this[r.$uid], class: ['xfaArea']};
+ (0, s.isPrintOnly)(this) && a.class.push('xfaPrintOnly');
+ this.name && (a.xfaName = this.name);
+ const n = [];
+ this[r.$extra] = {children: n, width: 0, height: 0, availableSpace: e};
+ const i = this[r.$childrenToHTML]({
+ filter: new Set(['area', 'draw', 'field', 'exclGroup', 'subform', 'subformSet']),
+ include: !0,
+ });
+ if (!i.success) {
+ if (i.isBreak()) return i;
+ delete this[r.$extra];
+ return o.HTMLResult.FAILURE;
+ }
+ t.width = (0, s.measureToString)(this[r.$extra].width);
+ t.height = (0, s.measureToString)(this[r.$extra].height);
+ const c = {name: 'div', attributes: a, children: n},
+ l = [this.x, this.y, this[r.$extra].width, this[r.$extra].height];
+ delete this[r.$extra];
+ return o.HTMLResult.success(c, l);
+ }
+ }
+ class Assist extends r.XFAObject {
+ constructor(e) {
+ super(d, 'assist', !0);
+ this.id = e.id || '';
+ this.role = e.role || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.speak = null;
+ this.toolTip = null;
+ }
+ [r.$toHTML]() {
+ return this.toolTip && this.toolTip[r.$content] ? this.toolTip[r.$content] : null;
+ }
+ }
+ class Barcode extends r.XFAObject {
+ constructor(e) {
+ super(d, 'barcode', !0);
+ this.charEncoding = (0, o.getKeyword)({
+ data: e.charEncoding ? e.charEncoding.toLowerCase() : '',
+ defaultValue: '',
+ validate: (e) =>
+ [
+ 'utf-8',
+ 'big-five',
+ 'fontspecific',
+ 'gbk',
+ 'gb-18030',
+ 'gb-2312',
+ 'ksc-5601',
+ 'none',
+ 'shift-jis',
+ 'ucs-2',
+ 'utf-16',
+ ].includes(e) || e.match(/iso-8859-\d{2}/),
+ });
+ this.checksum = (0, o.getStringOption)(e.checksum, ['none', '1mod10', '1mod10_1mod11', '2mod10', 'auto']);
+ this.dataColumnCount = (0, o.getInteger)({
+ data: e.dataColumnCount,
+ defaultValue: -1,
+ validate: (e) => e >= 0,
+ });
+ this.dataLength = (0, o.getInteger)({data: e.dataLength, defaultValue: -1, validate: (e) => e >= 0});
+ this.dataPrep = (0, o.getStringOption)(e.dataPrep, ['none', 'flateCompress']);
+ this.dataRowCount = (0, o.getInteger)({data: e.dataRowCount, defaultValue: -1, validate: (e) => e >= 0});
+ this.endChar = e.endChar || '';
+ this.errorCorrectionLevel = (0, o.getInteger)({
+ data: e.errorCorrectionLevel,
+ defaultValue: -1,
+ validate: (e) => e >= 0 && e <= 8,
+ });
+ this.id = e.id || '';
+ this.moduleHeight = (0, o.getMeasurement)(e.moduleHeight, '5mm');
+ this.moduleWidth = (0, o.getMeasurement)(e.moduleWidth, '0.25mm');
+ this.printCheckDigit = (0, o.getInteger)({
+ data: e.printCheckDigit,
+ defaultValue: 0,
+ validate: (e) => 1 === e,
+ });
+ this.rowColumnRatio = (0, o.getRatio)(e.rowColumnRatio);
+ this.startChar = e.startChar || '';
+ this.textLocation = (0, o.getStringOption)(e.textLocation, [
+ 'below',
+ 'above',
+ 'aboveEmbedded',
+ 'belowEmbedded',
+ 'none',
+ ]);
+ this.truncate = (0, o.getInteger)({data: e.truncate, defaultValue: 0, validate: (e) => 1 === e});
+ this.type = (0, o.getStringOption)(e.type ? e.type.toLowerCase() : '', [
+ 'aztec',
+ 'codabar',
+ 'code2of5industrial',
+ 'code2of5interleaved',
+ 'code2of5matrix',
+ 'code2of5standard',
+ 'code3of9',
+ 'code3of9extended',
+ 'code11',
+ 'code49',
+ 'code93',
+ 'code128',
+ 'code128a',
+ 'code128b',
+ 'code128c',
+ 'code128sscc',
+ 'datamatrix',
+ 'ean8',
+ 'ean8add2',
+ 'ean8add5',
+ 'ean13',
+ 'ean13add2',
+ 'ean13add5',
+ 'ean13pwcd',
+ 'fim',
+ 'logmars',
+ 'maxicode',
+ 'msi',
+ 'pdf417',
+ 'pdf417macro',
+ 'plessey',
+ 'postauscust2',
+ 'postauscust3',
+ 'postausreplypaid',
+ 'postausstandard',
+ 'postukrm4scc',
+ 'postusdpbc',
+ 'postusimb',
+ 'postusstandard',
+ 'postus5zip',
+ 'qrcode',
+ 'rfid',
+ 'rss14',
+ 'rss14expanded',
+ 'rss14limited',
+ 'rss14stacked',
+ 'rss14stackedomni',
+ 'rss14truncated',
+ 'telepen',
+ 'ucc128',
+ 'ucc128random',
+ 'ucc128sscc',
+ 'upca',
+ 'upcaadd2',
+ 'upcaadd5',
+ 'upcapwcd',
+ 'upce',
+ 'upceadd2',
+ 'upceadd5',
+ 'upcean2',
+ 'upcean5',
+ 'upsmaxicode',
+ ]);
+ this.upsMode = (0, o.getStringOption)(e.upsMode, [
+ 'usCarrier',
+ 'internationalCarrier',
+ 'secureSymbol',
+ 'standardSymbol',
+ ]);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.wideNarrowRatio = (0, o.getRatio)(e.wideNarrowRatio);
+ this.encrypt = null;
+ this.extras = null;
+ }
+ }
+ class Bind extends r.XFAObject {
+ constructor(e) {
+ super(d, 'bind', !0);
+ this.match = (0, o.getStringOption)(e.match, ['once', 'dataRef', 'global', 'none']);
+ this.ref = e.ref || '';
+ this.picture = null;
+ }
+ }
+ class BindItems extends r.XFAObject {
+ constructor(e) {
+ super(d, 'bindItems');
+ this.connection = e.connection || '';
+ this.labelRef = e.labelRef || '';
+ this.ref = e.ref || '';
+ this.valueRef = e.valueRef || '';
+ }
+ }
+ t.BindItems = BindItems;
+ class Bookend extends r.XFAObject {
+ constructor(e) {
+ super(d, 'bookend');
+ this.id = e.id || '';
+ this.leader = e.leader || '';
+ this.trailer = e.trailer || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class BooleanElement extends r.Option01 {
+ constructor(e) {
+ super(d, 'boolean');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$toHTML](e) {
+ return valueToHtml(1 === this[r.$content] ? '1' : '0');
+ }
+ }
+ class Border extends r.XFAObject {
+ constructor(e) {
+ super(d, 'border', !0);
+ this.break = (0, o.getStringOption)(e.break, ['close', 'open']);
+ this.hand = (0, o.getStringOption)(e.hand, ['even', 'left', 'right']);
+ this.id = e.id || '';
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.corner = new r.XFAObjectArray(4);
+ this.edge = new r.XFAObjectArray(4);
+ this.extras = null;
+ this.fill = null;
+ this.margin = null;
+ }
+ [r.$getExtra]() {
+ if (!this[r.$extra]) {
+ const e = this.edge.children.slice();
+ if (e.length < 4) {
+ const t = e.at(-1) || new Edge({});
+ for (let a = e.length; a < 4; a++) e.push(t);
+ }
+ const t = e.map((e) => e.thickness),
+ a = [0, 0, 0, 0];
+ if (this.margin) {
+ a[0] = this.margin.topInset;
+ a[1] = this.margin.rightInset;
+ a[2] = this.margin.bottomInset;
+ a[3] = this.margin.leftInset;
+ }
+ this[r.$extra] = {widths: t, insets: a, edges: e};
+ }
+ return this[r.$extra];
+ }
+ [r.$toStyle]() {
+ const {edges: e} = this[r.$getExtra](),
+ t = e.map((e) => {
+ const t = e[r.$toStyle]();
+ t.color = t.color || '#000000';
+ return t;
+ }),
+ a = Object.create(null);
+ this.margin && Object.assign(a, this.margin[r.$toStyle]());
+ this.fill && 'visible' === this.fill.presence && Object.assign(a, this.fill[r.$toStyle]());
+ if (this.corner.children.some((e) => 0 !== e.radius)) {
+ const e = this.corner.children.map((e) => e[r.$toStyle]());
+ if (2 === e.length || 3 === e.length) {
+ const t = e.at(-1);
+ for (let a = e.length; a < 4; a++) e.push(t);
+ }
+ a.borderRadius = e.map((e) => e.radius).join(' ');
+ }
+ switch (this.presence) {
+ case 'invisible':
+ case 'hidden':
+ a.borderStyle = '';
+ break;
+ case 'inactive':
+ a.borderStyle = 'none';
+ break;
+ default:
+ a.borderStyle = t.map((e) => e.style).join(' ');
+ }
+ a.borderWidth = t.map((e) => e.width).join(' ');
+ a.borderColor = t.map((e) => e.color).join(' ');
+ return a;
+ }
+ }
+ class Break extends r.XFAObject {
+ constructor(e) {
+ super(d, 'break', !0);
+ this.after = (0, o.getStringOption)(e.after, ['auto', 'contentArea', 'pageArea', 'pageEven', 'pageOdd']);
+ this.afterTarget = e.afterTarget || '';
+ this.before = (0, o.getStringOption)(e.before, [
+ 'auto',
+ 'contentArea',
+ 'pageArea',
+ 'pageEven',
+ 'pageOdd',
+ ]);
+ this.beforeTarget = e.beforeTarget || '';
+ this.bookendLeader = e.bookendLeader || '';
+ this.bookendTrailer = e.bookendTrailer || '';
+ this.id = e.id || '';
+ this.overflowLeader = e.overflowLeader || '';
+ this.overflowTarget = e.overflowTarget || '';
+ this.overflowTrailer = e.overflowTrailer || '';
+ this.startNew = (0, o.getInteger)({data: e.startNew, defaultValue: 0, validate: (e) => 1 === e});
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ }
+ }
+ class BreakAfter extends r.XFAObject {
+ constructor(e) {
+ super(d, 'breakAfter', !0);
+ this.id = e.id || '';
+ this.leader = e.leader || '';
+ this.startNew = (0, o.getInteger)({data: e.startNew, defaultValue: 0, validate: (e) => 1 === e});
+ this.target = e.target || '';
+ this.targetType = (0, o.getStringOption)(e.targetType, ['auto', 'contentArea', 'pageArea']);
+ this.trailer = e.trailer || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.script = null;
+ }
+ }
+ class BreakBefore extends r.XFAObject {
+ constructor(e) {
+ super(d, 'breakBefore', !0);
+ this.id = e.id || '';
+ this.leader = e.leader || '';
+ this.startNew = (0, o.getInteger)({data: e.startNew, defaultValue: 0, validate: (e) => 1 === e});
+ this.target = e.target || '';
+ this.targetType = (0, o.getStringOption)(e.targetType, ['auto', 'contentArea', 'pageArea']);
+ this.trailer = e.trailer || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.script = null;
+ }
+ [r.$toHTML](e) {
+ this[r.$extra] = {};
+ return o.HTMLResult.FAILURE;
+ }
+ }
+ class Button extends r.XFAObject {
+ constructor(e) {
+ super(d, 'button', !0);
+ this.highlight = (0, o.getStringOption)(e.highlight, ['inverted', 'none', 'outline', 'push']);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ }
+ [r.$toHTML](e) {
+ const t = this[r.$getParent]()[r.$getParent](),
+ a = {name: 'button', attributes: {id: this[r.$uid], class: ['xfaButton'], style: {}}, children: []};
+ for (const e of t.event.children) {
+ if ('click' !== e.activity || !e.script) continue;
+ const t = (0, h.recoverJsURL)(e.script[r.$content]);
+ if (!t) continue;
+ const n = (0, s.fixURL)(t.url);
+ n &&
+ a.children.push({
+ name: 'a',
+ attributes: {
+ id: 'link' + this[r.$uid],
+ href: n,
+ newWindow: t.newWindow,
+ class: ['xfaLink'],
+ style: {},
+ },
+ children: [],
+ });
+ }
+ return o.HTMLResult.success(a);
+ }
+ }
+ class Calculate extends r.XFAObject {
+ constructor(e) {
+ super(d, 'calculate', !0);
+ this.id = e.id || '';
+ this.override = (0, o.getStringOption)(e.override, ['disabled', 'error', 'ignore', 'warning']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.message = null;
+ this.script = null;
+ }
+ }
+ class Caption extends r.XFAObject {
+ constructor(e) {
+ super(d, 'caption', !0);
+ this.id = e.id || '';
+ this.placement = (0, o.getStringOption)(e.placement, ['left', 'bottom', 'inline', 'right', 'top']);
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.reserve = Math.ceil((0, o.getMeasurement)(e.reserve));
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.font = null;
+ this.margin = null;
+ this.para = null;
+ this.value = null;
+ }
+ [r.$setValue](e) {
+ _setValue(this, e);
+ }
+ [r.$getExtra](e) {
+ if (!this[r.$extra]) {
+ let {width: t, height: a} = e;
+ switch (this.placement) {
+ case 'left':
+ case 'right':
+ case 'inline':
+ t = this.reserve <= 0 ? t : this.reserve;
+ break;
+ case 'top':
+ case 'bottom':
+ a = this.reserve <= 0 ? a : this.reserve;
+ }
+ this[r.$extra] = (0, s.layoutNode)(this, {width: t, height: a});
+ }
+ return this[r.$extra];
+ }
+ [r.$toHTML](e) {
+ if (!this.value) return o.HTMLResult.EMPTY;
+ this[r.$pushPara]();
+ const t = this.value[r.$toHTML](e).html;
+ if (!t) {
+ this[r.$popPara]();
+ return o.HTMLResult.EMPTY;
+ }
+ const a = this.reserve;
+ if (this.reserve <= 0) {
+ const {w: t, h: a} = this[r.$getExtra](e);
+ switch (this.placement) {
+ case 'left':
+ case 'right':
+ case 'inline':
+ this.reserve = t;
+ break;
+ case 'top':
+ case 'bottom':
+ this.reserve = a;
+ }
+ }
+ const n = [];
+ 'string' == typeof t ? n.push({name: '#text', value: t}) : n.push(t);
+ const i = (0, s.toStyle)(this, 'font', 'margin', 'visibility');
+ switch (this.placement) {
+ case 'left':
+ case 'right':
+ this.reserve > 0 && (i.width = (0, s.measureToString)(this.reserve));
+ break;
+ case 'top':
+ case 'bottom':
+ this.reserve > 0 && (i.height = (0, s.measureToString)(this.reserve));
+ }
+ (0, s.setPara)(this, null, t);
+ this[r.$popPara]();
+ this.reserve = a;
+ return o.HTMLResult.success({name: 'div', attributes: {style: i, class: ['xfaCaption']}, children: n});
+ }
+ }
+ class Certificate extends r.StringObject {
+ constructor(e) {
+ super(d, 'certificate');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Certificates extends r.XFAObject {
+ constructor(e) {
+ super(d, 'certificates', !0);
+ this.credentialServerPolicy = (0, o.getStringOption)(e.credentialServerPolicy, ['optional', 'required']);
+ this.id = e.id || '';
+ this.url = e.url || '';
+ this.urlPolicy = e.urlPolicy || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.encryption = null;
+ this.issuers = null;
+ this.keyUsage = null;
+ this.oids = null;
+ this.signing = null;
+ this.subjectDNs = null;
+ }
+ }
+ class CheckButton extends r.XFAObject {
+ constructor(e) {
+ super(d, 'checkButton', !0);
+ this.id = e.id || '';
+ this.mark = (0, o.getStringOption)(e.mark, [
+ 'default',
+ 'check',
+ 'circle',
+ 'cross',
+ 'diamond',
+ 'square',
+ 'star',
+ ]);
+ this.shape = (0, o.getStringOption)(e.shape, ['square', 'round']);
+ this.size = (0, o.getMeasurement)(e.size, '10pt');
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.border = null;
+ this.extras = null;
+ this.margin = null;
+ }
+ [r.$toHTML](e) {
+ const t = (0, s.toStyle)('margin'),
+ a = (0, s.measureToString)(this.size);
+ t.width = t.height = a;
+ let n, i, c;
+ const l = this[r.$getParent]()[r.$getParent](),
+ h = (l.items.children.length && l.items.children[0][r.$toHTML]().html) || [],
+ u = {on: (void 0 !== h[0] ? h[0] : 'on').toString(), off: (void 0 !== h[1] ? h[1] : 'off').toString()},
+ d = ((l.value && l.value[r.$text]()) || 'off') === u.on || void 0,
+ f = l[r.$getSubformParent](),
+ g = l[r.$uid];
+ let p;
+ if (f instanceof ExclGroup) {
+ c = f[r.$uid];
+ n = 'radio';
+ i = 'xfaRadio';
+ p = (f[r.$data] && f[r.$data][r.$uid]) || f[r.$uid];
+ } else {
+ n = 'checkbox';
+ i = 'xfaCheckbox';
+ p = (l[r.$data] && l[r.$data][r.$uid]) || l[r.$uid];
+ }
+ const m = {
+ name: 'input',
+ attributes: {
+ class: [i],
+ style: t,
+ fieldId: g,
+ dataId: p,
+ type: n,
+ checked: d,
+ xfaOn: u.on,
+ xfaOff: u.off,
+ 'aria-label': ariaLabel(l),
+ 'aria-required': !1,
+ },
+ };
+ c && (m.attributes.name = c);
+ if (isRequired(l)) {
+ m.attributes['aria-required'] = !0;
+ m.attributes.required = !0;
+ }
+ return o.HTMLResult.success({name: 'label', attributes: {class: ['xfaLabel']}, children: [m]});
+ }
+ }
+ class ChoiceList extends r.XFAObject {
+ constructor(e) {
+ super(d, 'choiceList', !0);
+ this.commitOn = (0, o.getStringOption)(e.commitOn, ['select', 'exit']);
+ this.id = e.id || '';
+ this.open = (0, o.getStringOption)(e.open, ['userControl', 'always', 'multiSelect', 'onEntry']);
+ this.textEntry = (0, o.getInteger)({data: e.textEntry, defaultValue: 0, validate: (e) => 1 === e});
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.border = null;
+ this.extras = null;
+ this.margin = null;
+ }
+ [r.$toHTML](e) {
+ const t = (0, s.toStyle)(this, 'border', 'margin'),
+ a = this[r.$getParent]()[r.$getParent](),
+ n = {fontSize: `calc(${(a.font && a.font.size) || 10}px * var(--scale-factor))`},
+ i = [];
+ if (a.items.children.length > 0) {
+ const e = a.items;
+ let t = 0,
+ s = 0;
+ if (2 === e.children.length) {
+ t = e.children[0].save;
+ s = 1 - t;
+ }
+ const o = e.children[t][r.$toHTML]().html,
+ c = e.children[s][r.$toHTML]().html;
+ let l = !1;
+ const h = (a.value && a.value[r.$text]()) || '';
+ for (let e = 0, t = o.length; e < t; e++) {
+ const t = {name: 'option', attributes: {value: c[e] || o[e], style: n}, value: o[e]};
+ c[e] === h && (t.attributes.selected = l = !0);
+ i.push(t);
+ }
+ l || i.splice(0, 0, {name: 'option', attributes: {hidden: !0, selected: !0}, value: ' '});
+ }
+ const c = {
+ class: ['xfaSelect'],
+ fieldId: a[r.$uid],
+ dataId: (a[r.$data] && a[r.$data][r.$uid]) || a[r.$uid],
+ style: t,
+ 'aria-label': ariaLabel(a),
+ 'aria-required': !1,
+ };
+ if (isRequired(a)) {
+ c['aria-required'] = !0;
+ c.required = !0;
+ }
+ 'multiSelect' === this.open && (c.multiple = !0);
+ return o.HTMLResult.success({
+ name: 'label',
+ attributes: {class: ['xfaLabel']},
+ children: [{name: 'select', children: i, attributes: c}],
+ });
+ }
+ }
+ class Color extends r.XFAObject {
+ constructor(e) {
+ super(d, 'color', !0);
+ this.cSpace = (0, o.getStringOption)(e.cSpace, ['SRGB']);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.value = e.value ? (0, o.getColor)(e.value) : '';
+ this.extras = null;
+ }
+ [r.$hasSettableValue]() {
+ return !1;
+ }
+ [r.$toStyle]() {
+ return this.value ? c.Util.makeHexColor(this.value.r, this.value.g, this.value.b) : null;
+ }
+ }
+ class Comb extends r.XFAObject {
+ constructor(e) {
+ super(d, 'comb');
+ this.id = e.id || '';
+ this.numberOfCells = (0, o.getInteger)({data: e.numberOfCells, defaultValue: 0, validate: (e) => e >= 0});
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Connect extends r.XFAObject {
+ constructor(e) {
+ super(d, 'connect', !0);
+ this.connection = e.connection || '';
+ this.id = e.id || '';
+ this.ref = e.ref || '';
+ this.usage = (0, o.getStringOption)(e.usage, ['exportAndImport', 'exportOnly', 'importOnly']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.picture = null;
+ }
+ }
+ class ContentArea extends r.XFAObject {
+ constructor(e) {
+ super(d, 'contentArea', !0);
+ this.h = (0, o.getMeasurement)(e.h);
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.w = (0, o.getMeasurement)(e.w);
+ this.x = (0, o.getMeasurement)(e.x, '0pt');
+ this.y = (0, o.getMeasurement)(e.y, '0pt');
+ this.desc = null;
+ this.extras = null;
+ }
+ [r.$toHTML](e) {
+ const t = {
+ left: (0, s.measureToString)(this.x),
+ top: (0, s.measureToString)(this.y),
+ width: (0, s.measureToString)(this.w),
+ height: (0, s.measureToString)(this.h),
+ },
+ a = ['xfaContentarea'];
+ (0, s.isPrintOnly)(this) && a.push('xfaPrintOnly');
+ return o.HTMLResult.success({
+ name: 'div',
+ children: [],
+ attributes: {style: t, class: a, id: this[r.$uid]},
+ });
+ }
+ }
+ class Corner extends r.XFAObject {
+ constructor(e) {
+ super(d, 'corner', !0);
+ this.id = e.id || '';
+ this.inverted = (0, o.getInteger)({data: e.inverted, defaultValue: 0, validate: (e) => 1 === e});
+ this.join = (0, o.getStringOption)(e.join, ['square', 'round']);
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.radius = (0, o.getMeasurement)(e.radius);
+ this.stroke = (0, o.getStringOption)(e.stroke, [
+ 'solid',
+ 'dashDot',
+ 'dashDotDot',
+ 'dashed',
+ 'dotted',
+ 'embossed',
+ 'etched',
+ 'lowered',
+ 'raised',
+ ]);
+ this.thickness = (0, o.getMeasurement)(e.thickness, '0.5pt');
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.color = null;
+ this.extras = null;
+ }
+ [r.$toStyle]() {
+ const e = (0, s.toStyle)(this, 'visibility');
+ e.radius = (0, s.measureToString)('square' === this.join ? 0 : this.radius);
+ return e;
+ }
+ }
+ class DateElement extends r.ContentObject {
+ constructor(e) {
+ super(d, 'date');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$finalize]() {
+ const e = this[r.$content].trim();
+ this[r.$content] = e ? new Date(e) : null;
+ }
+ [r.$toHTML](e) {
+ return valueToHtml(this[r.$content] ? this[r.$content].toString() : '');
+ }
+ }
+ class DateTime extends r.ContentObject {
+ constructor(e) {
+ super(d, 'dateTime');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$finalize]() {
+ const e = this[r.$content].trim();
+ this[r.$content] = e ? new Date(e) : null;
+ }
+ [r.$toHTML](e) {
+ return valueToHtml(this[r.$content] ? this[r.$content].toString() : '');
+ }
+ }
+ class DateTimeEdit extends r.XFAObject {
+ constructor(e) {
+ super(d, 'dateTimeEdit', !0);
+ this.hScrollPolicy = (0, o.getStringOption)(e.hScrollPolicy, ['auto', 'off', 'on']);
+ this.id = e.id || '';
+ this.picker = (0, o.getStringOption)(e.picker, ['host', 'none']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.border = null;
+ this.comb = null;
+ this.extras = null;
+ this.margin = null;
+ }
+ [r.$toHTML](e) {
+ const t = (0, s.toStyle)(this, 'border', 'font', 'margin'),
+ a = this[r.$getParent]()[r.$getParent](),
+ n = {
+ name: 'input',
+ attributes: {
+ type: 'text',
+ fieldId: a[r.$uid],
+ dataId: (a[r.$data] && a[r.$data][r.$uid]) || a[r.$uid],
+ class: ['xfaTextfield'],
+ style: t,
+ 'aria-label': ariaLabel(a),
+ 'aria-required': !1,
+ },
+ };
+ if (isRequired(a)) {
+ n.attributes['aria-required'] = !0;
+ n.attributes.required = !0;
+ }
+ return o.HTMLResult.success({name: 'label', attributes: {class: ['xfaLabel']}, children: [n]});
+ }
+ }
+ class Decimal extends r.ContentObject {
+ constructor(e) {
+ super(d, 'decimal');
+ this.fracDigits = (0, o.getInteger)({data: e.fracDigits, defaultValue: 2, validate: (e) => !0});
+ this.id = e.id || '';
+ this.leadDigits = (0, o.getInteger)({data: e.leadDigits, defaultValue: -1, validate: (e) => !0});
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$finalize]() {
+ const e = parseFloat(this[r.$content].trim());
+ this[r.$content] = isNaN(e) ? null : e;
+ }
+ [r.$toHTML](e) {
+ return valueToHtml(null !== this[r.$content] ? this[r.$content].toString() : '');
+ }
+ }
+ class DefaultUi extends r.XFAObject {
+ constructor(e) {
+ super(d, 'defaultUi', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ }
+ }
+ class Desc extends r.XFAObject {
+ constructor(e) {
+ super(d, 'desc', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.boolean = new r.XFAObjectArray();
+ this.date = new r.XFAObjectArray();
+ this.dateTime = new r.XFAObjectArray();
+ this.decimal = new r.XFAObjectArray();
+ this.exData = new r.XFAObjectArray();
+ this.float = new r.XFAObjectArray();
+ this.image = new r.XFAObjectArray();
+ this.integer = new r.XFAObjectArray();
+ this.text = new r.XFAObjectArray();
+ this.time = new r.XFAObjectArray();
+ }
+ }
+ class DigestMethod extends r.OptionObject {
+ constructor(e) {
+ super(d, 'digestMethod', ['', 'SHA1', 'SHA256', 'SHA512', 'RIPEMD160']);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class DigestMethods extends r.XFAObject {
+ constructor(e) {
+ super(d, 'digestMethods', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.digestMethod = new r.XFAObjectArray();
+ }
+ }
+ class Draw extends r.XFAObject {
+ constructor(e) {
+ super(d, 'draw', !0);
+ this.anchorType = (0, o.getStringOption)(e.anchorType, [
+ 'topLeft',
+ 'bottomCenter',
+ 'bottomLeft',
+ 'bottomRight',
+ 'middleCenter',
+ 'middleLeft',
+ 'middleRight',
+ 'topCenter',
+ 'topRight',
+ ]);
+ this.colSpan = (0, o.getInteger)({data: e.colSpan, defaultValue: 1, validate: (e) => e >= 1 || -1 === e});
+ this.h = e.h ? (0, o.getMeasurement)(e.h) : '';
+ this.hAlign = (0, o.getStringOption)(e.hAlign, [
+ 'left',
+ 'center',
+ 'justify',
+ 'justifyAll',
+ 'radix',
+ 'right',
+ ]);
+ this.id = e.id || '';
+ this.locale = e.locale || '';
+ this.maxH = (0, o.getMeasurement)(e.maxH, '0pt');
+ this.maxW = (0, o.getMeasurement)(e.maxW, '0pt');
+ this.minH = (0, o.getMeasurement)(e.minH, '0pt');
+ this.minW = (0, o.getMeasurement)(e.minW, '0pt');
+ this.name = e.name || '';
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.rotate = (0, o.getInteger)({data: e.rotate, defaultValue: 0, validate: (e) => e % 90 == 0});
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.w = e.w ? (0, o.getMeasurement)(e.w) : '';
+ this.x = (0, o.getMeasurement)(e.x, '0pt');
+ this.y = (0, o.getMeasurement)(e.y, '0pt');
+ this.assist = null;
+ this.border = null;
+ this.caption = null;
+ this.desc = null;
+ this.extras = null;
+ this.font = null;
+ this.keep = null;
+ this.margin = null;
+ this.para = null;
+ this.traversal = null;
+ this.ui = null;
+ this.value = null;
+ this.setProperty = new r.XFAObjectArray();
+ }
+ [r.$setValue](e) {
+ _setValue(this, e);
+ }
+ [r.$toHTML](e) {
+ setTabIndex(this);
+ if ('hidden' === this.presence || 'inactive' === this.presence) return o.HTMLResult.EMPTY;
+ (0, s.fixDimensions)(this);
+ this[r.$pushPara]();
+ const t = this.w,
+ a = this.h,
+ {w: n, h: c, isBroken: l} = (0, s.layoutNode)(this, e);
+ if (n && '' === this.w) {
+ if (l && this[r.$getSubformParent]()[r.$isThereMoreWidth]()) {
+ this[r.$popPara]();
+ return o.HTMLResult.FAILURE;
+ }
+ this.w = n;
+ }
+ c && '' === this.h && (this.h = c);
+ setFirstUnsplittable(this);
+ if (!(0, i.checkDimensions)(this, e)) {
+ this.w = t;
+ this.h = a;
+ this[r.$popPara]();
+ return o.HTMLResult.FAILURE;
+ }
+ unsetFirstUnsplittable(this);
+ const h = (0, s.toStyle)(
+ this,
+ 'font',
+ 'hAlign',
+ 'dimensions',
+ 'position',
+ 'presence',
+ 'rotate',
+ 'anchorType',
+ 'border',
+ 'margin'
+ );
+ (0, s.setMinMaxDimensions)(this, h);
+ if (h.margin) {
+ h.padding = h.margin;
+ delete h.margin;
+ }
+ const u = ['xfaDraw'];
+ this.font && u.push('xfaFont');
+ (0, s.isPrintOnly)(this) && u.push('xfaPrintOnly');
+ const d = {style: h, id: this[r.$uid], class: u};
+ this.name && (d.xfaName = this.name);
+ const f = {name: 'div', attributes: d, children: []};
+ applyAssist(this, d);
+ const g = (0, s.computeBbox)(this, f, e),
+ p = this.value ? this.value[r.$toHTML](e).html : null;
+ if (null === p) {
+ this.w = t;
+ this.h = a;
+ this[r.$popPara]();
+ return o.HTMLResult.success((0, s.createWrapper)(this, f), g);
+ }
+ f.children.push(p);
+ (0, s.setPara)(this, h, p);
+ this.w = t;
+ this.h = a;
+ this[r.$popPara]();
+ return o.HTMLResult.success((0, s.createWrapper)(this, f), g);
+ }
+ }
+ class Edge extends r.XFAObject {
+ constructor(e) {
+ super(d, 'edge', !0);
+ this.cap = (0, o.getStringOption)(e.cap, ['square', 'butt', 'round']);
+ this.id = e.id || '';
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.stroke = (0, o.getStringOption)(e.stroke, [
+ 'solid',
+ 'dashDot',
+ 'dashDotDot',
+ 'dashed',
+ 'dotted',
+ 'embossed',
+ 'etched',
+ 'lowered',
+ 'raised',
+ ]);
+ this.thickness = (0, o.getMeasurement)(e.thickness, '0.5pt');
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.color = null;
+ this.extras = null;
+ }
+ [r.$toStyle]() {
+ const e = (0, s.toStyle)(this, 'visibility');
+ Object.assign(e, {
+ linecap: this.cap,
+ width: (0, s.measureToString)(this.thickness),
+ color: this.color ? this.color[r.$toStyle]() : '#000000',
+ style: '',
+ });
+ if ('visible' !== this.presence) e.style = 'none';
+ else
+ switch (this.stroke) {
+ case 'solid':
+ e.style = 'solid';
+ break;
+ case 'dashDot':
+ case 'dashDotDot':
+ case 'dashed':
+ e.style = 'dashed';
+ break;
+ case 'dotted':
+ e.style = 'dotted';
+ break;
+ case 'embossed':
+ e.style = 'ridge';
+ break;
+ case 'etched':
+ e.style = 'groove';
+ break;
+ case 'lowered':
+ e.style = 'inset';
+ break;
+ case 'raised':
+ e.style = 'outset';
+ }
+ return e;
+ }
+ }
+ class Encoding extends r.OptionObject {
+ constructor(e) {
+ super(d, 'encoding', ['adbe.x509.rsa_sha1', 'adbe.pkcs7.detached', 'adbe.pkcs7.sha1']);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Encodings extends r.XFAObject {
+ constructor(e) {
+ super(d, 'encodings', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.encoding = new r.XFAObjectArray();
+ }
+ }
+ class Encrypt extends r.XFAObject {
+ constructor(e) {
+ super(d, 'encrypt', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.certificate = null;
+ }
+ }
+ class EncryptData extends r.XFAObject {
+ constructor(e) {
+ super(d, 'encryptData', !0);
+ this.id = e.id || '';
+ this.operation = (0, o.getStringOption)(e.operation, ['encrypt', 'decrypt']);
+ this.target = e.target || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.filter = null;
+ this.manifest = null;
+ }
+ }
+ class Encryption extends r.XFAObject {
+ constructor(e) {
+ super(d, 'encryption', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.certificate = new r.XFAObjectArray();
+ }
+ }
+ class EncryptionMethod extends r.OptionObject {
+ constructor(e) {
+ super(d, 'encryptionMethod', ['', 'AES256-CBC', 'TRIPLEDES-CBC', 'AES128-CBC', 'AES192-CBC']);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class EncryptionMethods extends r.XFAObject {
+ constructor(e) {
+ super(d, 'encryptionMethods', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.encryptionMethod = new r.XFAObjectArray();
+ }
+ }
+ class Event extends r.XFAObject {
+ constructor(e) {
+ super(d, 'event', !0);
+ this.activity = (0, o.getStringOption)(e.activity, [
+ 'click',
+ 'change',
+ 'docClose',
+ 'docReady',
+ 'enter',
+ 'exit',
+ 'full',
+ 'indexChange',
+ 'initialize',
+ 'mouseDown',
+ 'mouseEnter',
+ 'mouseExit',
+ 'mouseUp',
+ 'postExecute',
+ 'postOpen',
+ 'postPrint',
+ 'postSave',
+ 'postSign',
+ 'postSubmit',
+ 'preExecute',
+ 'preOpen',
+ 'prePrint',
+ 'preSave',
+ 'preSign',
+ 'preSubmit',
+ 'ready',
+ 'validationState',
+ ]);
+ this.id = e.id || '';
+ this.listen = (0, o.getStringOption)(e.listen, ['refOnly', 'refAndDescendents']);
+ this.name = e.name || '';
+ this.ref = e.ref || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.encryptData = null;
+ this.execute = null;
+ this.script = null;
+ this.signData = null;
+ this.submit = null;
+ }
+ }
+ class ExData extends r.ContentObject {
+ constructor(e) {
+ super(d, 'exData');
+ this.contentType = e.contentType || '';
+ this.href = e.href || '';
+ this.id = e.id || '';
+ this.maxLength = (0, o.getInteger)({data: e.maxLength, defaultValue: -1, validate: (e) => e >= -1});
+ this.name = e.name || '';
+ this.rid = e.rid || '';
+ this.transferEncoding = (0, o.getStringOption)(e.transferEncoding, ['none', 'base64', 'package']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$isCDATAXml]() {
+ return 'text/html' === this.contentType;
+ }
+ [r.$onChild](e) {
+ if ('text/html' === this.contentType && e[r.$namespaceId] === n.NamespaceIds.xhtml.id) {
+ this[r.$content] = e;
+ return !0;
+ }
+ if ('text/xml' === this.contentType) {
+ this[r.$content] = e;
+ return !0;
+ }
+ return !1;
+ }
+ [r.$toHTML](e) {
+ return 'text/html' === this.contentType && this[r.$content]
+ ? this[r.$content][r.$toHTML](e)
+ : o.HTMLResult.EMPTY;
+ }
+ }
+ class ExObject extends r.XFAObject {
+ constructor(e) {
+ super(d, 'exObject', !0);
+ this.archive = e.archive || '';
+ this.classId = e.classId || '';
+ this.codeBase = e.codeBase || '';
+ this.codeType = e.codeType || '';
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.boolean = new r.XFAObjectArray();
+ this.date = new r.XFAObjectArray();
+ this.dateTime = new r.XFAObjectArray();
+ this.decimal = new r.XFAObjectArray();
+ this.exData = new r.XFAObjectArray();
+ this.exObject = new r.XFAObjectArray();
+ this.float = new r.XFAObjectArray();
+ this.image = new r.XFAObjectArray();
+ this.integer = new r.XFAObjectArray();
+ this.text = new r.XFAObjectArray();
+ this.time = new r.XFAObjectArray();
+ }
+ }
+ class ExclGroup extends r.XFAObject {
+ constructor(e) {
+ super(d, 'exclGroup', !0);
+ this.access = (0, o.getStringOption)(e.access, ['open', 'nonInteractive', 'protected', 'readOnly']);
+ this.accessKey = e.accessKey || '';
+ this.anchorType = (0, o.getStringOption)(e.anchorType, [
+ 'topLeft',
+ 'bottomCenter',
+ 'bottomLeft',
+ 'bottomRight',
+ 'middleCenter',
+ 'middleLeft',
+ 'middleRight',
+ 'topCenter',
+ 'topRight',
+ ]);
+ this.colSpan = (0, o.getInteger)({data: e.colSpan, defaultValue: 1, validate: (e) => e >= 1 || -1 === e});
+ this.h = e.h ? (0, o.getMeasurement)(e.h) : '';
+ this.hAlign = (0, o.getStringOption)(e.hAlign, [
+ 'left',
+ 'center',
+ 'justify',
+ 'justifyAll',
+ 'radix',
+ 'right',
+ ]);
+ this.id = e.id || '';
+ this.layout = (0, o.getStringOption)(e.layout, [
+ 'position',
+ 'lr-tb',
+ 'rl-row',
+ 'rl-tb',
+ 'row',
+ 'table',
+ 'tb',
+ ]);
+ this.maxH = (0, o.getMeasurement)(e.maxH, '0pt');
+ this.maxW = (0, o.getMeasurement)(e.maxW, '0pt');
+ this.minH = (0, o.getMeasurement)(e.minH, '0pt');
+ this.minW = (0, o.getMeasurement)(e.minW, '0pt');
+ this.name = e.name || '';
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.w = e.w ? (0, o.getMeasurement)(e.w) : '';
+ this.x = (0, o.getMeasurement)(e.x, '0pt');
+ this.y = (0, o.getMeasurement)(e.y, '0pt');
+ this.assist = null;
+ this.bind = null;
+ this.border = null;
+ this.calculate = null;
+ this.caption = null;
+ this.desc = null;
+ this.extras = null;
+ this.margin = null;
+ this.para = null;
+ this.traversal = null;
+ this.validate = null;
+ this.connect = new r.XFAObjectArray();
+ this.event = new r.XFAObjectArray();
+ this.field = new r.XFAObjectArray();
+ this.setProperty = new r.XFAObjectArray();
+ }
+ [r.$isBindable]() {
+ return !0;
+ }
+ [r.$hasSettableValue]() {
+ return !0;
+ }
+ [r.$setValue](e) {
+ for (const t of this.field.children) {
+ if (!t.value) {
+ const e = new Value({});
+ t[r.$appendChild](e);
+ t.value = e;
+ }
+ t.value[r.$setValue](e);
+ }
+ }
+ [r.$isThereMoreWidth]() {
+ return (
+ (this.layout.endsWith('-tb') && 0 === this[r.$extra].attempt && this[r.$extra].numberInLine > 0) ||
+ this[r.$getParent]()[r.$isThereMoreWidth]()
+ );
+ }
+ [r.$isSplittable]() {
+ const e = this[r.$getSubformParent]();
+ if (!e[r.$isSplittable]()) return !1;
+ if (void 0 !== this[r.$extra]._isSplittable) return this[r.$extra]._isSplittable;
+ if ('position' === this.layout || this.layout.includes('row')) {
+ this[r.$extra]._isSplittable = !1;
+ return !1;
+ }
+ if (e.layout && e.layout.endsWith('-tb') && 0 !== e[r.$extra].numberInLine) return !1;
+ this[r.$extra]._isSplittable = !0;
+ return !0;
+ }
+ [r.$flushHTML]() {
+ return (0, i.flushHTML)(this);
+ }
+ [r.$addHTML](e, t) {
+ (0, i.addHTML)(this, e, t);
+ }
+ [r.$getAvailableSpace]() {
+ return (0, i.getAvailableSpace)(this);
+ }
+ [r.$toHTML](e) {
+ setTabIndex(this);
+ if ('hidden' === this.presence || 'inactive' === this.presence || 0 === this.h || 0 === this.w)
+ return o.HTMLResult.EMPTY;
+ (0, s.fixDimensions)(this);
+ const t = [],
+ a = {id: this[r.$uid], class: []};
+ (0, s.setAccess)(this, a.class);
+ this[r.$extra] || (this[r.$extra] = Object.create(null));
+ Object.assign(this[r.$extra], {
+ children: t,
+ attributes: a,
+ attempt: 0,
+ line: null,
+ numberInLine: 0,
+ availableSpace: {
+ width: Math.min(this.w || 1 / 0, e.width),
+ height: Math.min(this.h || 1 / 0, e.height),
+ },
+ width: 0,
+ height: 0,
+ prevHeight: 0,
+ currentWidth: 0,
+ });
+ const n = this[r.$isSplittable]();
+ n || setFirstUnsplittable(this);
+ if (!(0, i.checkDimensions)(this, e)) return o.HTMLResult.FAILURE;
+ const c = new Set(['field']);
+ if (this.layout.includes('row')) {
+ const e = this[r.$getSubformParent]().columnWidths;
+ if (Array.isArray(e) && e.length > 0) {
+ this[r.$extra].columnWidths = e;
+ this[r.$extra].currentColumn = 0;
+ }
+ }
+ const l = (0, s.toStyle)(
+ this,
+ 'anchorType',
+ 'dimensions',
+ 'position',
+ 'presence',
+ 'border',
+ 'margin',
+ 'hAlign'
+ ),
+ h = ['xfaExclgroup'],
+ u = (0, s.layoutClass)(this);
+ u && h.push(u);
+ (0, s.isPrintOnly)(this) && h.push('xfaPrintOnly');
+ a.style = l;
+ a.class = h;
+ this.name && (a.xfaName = this.name);
+ this[r.$pushPara]();
+ const d = 'lr-tb' === this.layout || 'rl-tb' === this.layout,
+ f = d ? 2 : 1;
+ for (; this[r.$extra].attempt < f; this[r.$extra].attempt++) {
+ d && 1 === this[r.$extra].attempt && (this[r.$extra].numberInLine = 0);
+ const e = this[r.$childrenToHTML]({filter: c, include: !0});
+ if (e.success) break;
+ if (e.isBreak()) {
+ this[r.$popPara]();
+ return e;
+ }
+ if (
+ d &&
+ 0 === this[r.$extra].attempt &&
+ 0 === this[r.$extra].numberInLine &&
+ !this[r.$getTemplateRoot]()[r.$extra].noLayoutFailure
+ ) {
+ this[r.$extra].attempt = f;
+ break;
+ }
+ }
+ this[r.$popPara]();
+ n || unsetFirstUnsplittable(this);
+ if (this[r.$extra].attempt === f) {
+ n || delete this[r.$extra];
+ return o.HTMLResult.FAILURE;
+ }
+ let g = 0,
+ p = 0;
+ if (this.margin) {
+ g = this.margin.leftInset + this.margin.rightInset;
+ p = this.margin.topInset + this.margin.bottomInset;
+ }
+ const m = Math.max(this[r.$extra].width + g, this.w || 0),
+ b = Math.max(this[r.$extra].height + p, this.h || 0),
+ y = [this.x, this.y, m, b];
+ '' === this.w && (l.width = (0, s.measureToString)(m));
+ '' === this.h && (l.height = (0, s.measureToString)(b));
+ const w = {name: 'div', attributes: a, children: t};
+ applyAssist(this, a);
+ delete this[r.$extra];
+ return o.HTMLResult.success((0, s.createWrapper)(this, w), y);
+ }
+ }
+ class Execute extends r.XFAObject {
+ constructor(e) {
+ super(d, 'execute');
+ this.connection = e.connection || '';
+ this.executeType = (0, o.getStringOption)(e.executeType, ['import', 'remerge']);
+ this.id = e.id || '';
+ this.runAt = (0, o.getStringOption)(e.runAt, ['client', 'both', 'server']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Extras extends r.XFAObject {
+ constructor(e) {
+ super(d, 'extras', !0);
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.boolean = new r.XFAObjectArray();
+ this.date = new r.XFAObjectArray();
+ this.dateTime = new r.XFAObjectArray();
+ this.decimal = new r.XFAObjectArray();
+ this.exData = new r.XFAObjectArray();
+ this.extras = new r.XFAObjectArray();
+ this.float = new r.XFAObjectArray();
+ this.image = new r.XFAObjectArray();
+ this.integer = new r.XFAObjectArray();
+ this.text = new r.XFAObjectArray();
+ this.time = new r.XFAObjectArray();
+ }
+ }
+ class Field extends r.XFAObject {
+ constructor(e) {
+ super(d, 'field', !0);
+ this.access = (0, o.getStringOption)(e.access, ['open', 'nonInteractive', 'protected', 'readOnly']);
+ this.accessKey = e.accessKey || '';
+ this.anchorType = (0, o.getStringOption)(e.anchorType, [
+ 'topLeft',
+ 'bottomCenter',
+ 'bottomLeft',
+ 'bottomRight',
+ 'middleCenter',
+ 'middleLeft',
+ 'middleRight',
+ 'topCenter',
+ 'topRight',
+ ]);
+ this.colSpan = (0, o.getInteger)({data: e.colSpan, defaultValue: 1, validate: (e) => e >= 1 || -1 === e});
+ this.h = e.h ? (0, o.getMeasurement)(e.h) : '';
+ this.hAlign = (0, o.getStringOption)(e.hAlign, [
+ 'left',
+ 'center',
+ 'justify',
+ 'justifyAll',
+ 'radix',
+ 'right',
+ ]);
+ this.id = e.id || '';
+ this.locale = e.locale || '';
+ this.maxH = (0, o.getMeasurement)(e.maxH, '0pt');
+ this.maxW = (0, o.getMeasurement)(e.maxW, '0pt');
+ this.minH = (0, o.getMeasurement)(e.minH, '0pt');
+ this.minW = (0, o.getMeasurement)(e.minW, '0pt');
+ this.name = e.name || '';
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.rotate = (0, o.getInteger)({data: e.rotate, defaultValue: 0, validate: (e) => e % 90 == 0});
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.w = e.w ? (0, o.getMeasurement)(e.w) : '';
+ this.x = (0, o.getMeasurement)(e.x, '0pt');
+ this.y = (0, o.getMeasurement)(e.y, '0pt');
+ this.assist = null;
+ this.bind = null;
+ this.border = null;
+ this.calculate = null;
+ this.caption = null;
+ this.desc = null;
+ this.extras = null;
+ this.font = null;
+ this.format = null;
+ this.items = new r.XFAObjectArray(2);
+ this.keep = null;
+ this.margin = null;
+ this.para = null;
+ this.traversal = null;
+ this.ui = null;
+ this.validate = null;
+ this.value = null;
+ this.bindItems = new r.XFAObjectArray();
+ this.connect = new r.XFAObjectArray();
+ this.event = new r.XFAObjectArray();
+ this.setProperty = new r.XFAObjectArray();
+ }
+ [r.$isBindable]() {
+ return !0;
+ }
+ [r.$setValue](e) {
+ _setValue(this, e);
+ }
+ [r.$toHTML](e) {
+ setTabIndex(this);
+ if (!this.ui) {
+ this.ui = new Ui({});
+ this.ui[r.$globalData] = this[r.$globalData];
+ this[r.$appendChild](this.ui);
+ let e;
+ switch (this.items.children.length) {
+ case 0:
+ e = new TextEdit({});
+ this.ui.textEdit = e;
+ break;
+ case 1:
+ e = new CheckButton({});
+ this.ui.checkButton = e;
+ break;
+ case 2:
+ e = new ChoiceList({});
+ this.ui.choiceList = e;
+ }
+ this.ui[r.$appendChild](e);
+ }
+ if (
+ !this.ui ||
+ 'hidden' === this.presence ||
+ 'inactive' === this.presence ||
+ 0 === this.h ||
+ 0 === this.w
+ )
+ return o.HTMLResult.EMPTY;
+ this.caption && delete this.caption[r.$extra];
+ this[r.$pushPara]();
+ const t = this.caption ? this.caption[r.$toHTML](e).html : null,
+ a = this.w,
+ n = this.h;
+ let c = 0,
+ h = 0;
+ if (this.margin) {
+ c = this.margin.leftInset + this.margin.rightInset;
+ h = this.margin.topInset + this.margin.bottomInset;
+ }
+ let u = null;
+ if ('' === this.w || '' === this.h) {
+ let t = null,
+ a = null,
+ n = 0,
+ i = 0;
+ if (this.ui.checkButton) n = i = this.ui.checkButton.size;
+ else {
+ const {w: t, h: a} = (0, s.layoutNode)(this, e);
+ if (null !== t) {
+ n = t;
+ i = a;
+ } else i = (0, l.getMetrics)(this.font, !0).lineNoGap;
+ }
+ u = getBorderDims(this.ui[r.$getExtra]());
+ n += u.w;
+ i += u.h;
+ if (this.caption) {
+ const {w: s, h: c, isBroken: l} = this.caption[r.$getExtra](e);
+ if (l && this[r.$getSubformParent]()[r.$isThereMoreWidth]()) {
+ this[r.$popPara]();
+ return o.HTMLResult.FAILURE;
+ }
+ t = s;
+ a = c;
+ switch (this.caption.placement) {
+ case 'left':
+ case 'right':
+ case 'inline':
+ t += n;
+ break;
+ case 'top':
+ case 'bottom':
+ a += i;
+ }
+ } else {
+ t = n;
+ a = i;
+ }
+ if (t && '' === this.w) {
+ t += c;
+ this.w = Math.min(this.maxW <= 0 ? 1 / 0 : this.maxW, this.minW + 1 < t ? t : this.minW);
+ }
+ if (a && '' === this.h) {
+ a += h;
+ this.h = Math.min(this.maxH <= 0 ? 1 / 0 : this.maxH, this.minH + 1 < a ? a : this.minH);
+ }
+ }
+ this[r.$popPara]();
+ (0, s.fixDimensions)(this);
+ setFirstUnsplittable(this);
+ if (!(0, i.checkDimensions)(this, e)) {
+ this.w = a;
+ this.h = n;
+ this[r.$popPara]();
+ return o.HTMLResult.FAILURE;
+ }
+ unsetFirstUnsplittable(this);
+ const d = (0, s.toStyle)(
+ this,
+ 'font',
+ 'dimensions',
+ 'position',
+ 'rotate',
+ 'anchorType',
+ 'presence',
+ 'margin',
+ 'hAlign'
+ );
+ (0, s.setMinMaxDimensions)(this, d);
+ const f = ['xfaField'];
+ this.font && f.push('xfaFont');
+ (0, s.isPrintOnly)(this) && f.push('xfaPrintOnly');
+ const g = {style: d, id: this[r.$uid], class: f};
+ if (d.margin) {
+ d.padding = d.margin;
+ delete d.margin;
+ }
+ (0, s.setAccess)(this, f);
+ this.name && (g.xfaName = this.name);
+ const p = [],
+ m = {name: 'div', attributes: g, children: p};
+ applyAssist(this, g);
+ const b = this.border ? this.border[r.$toStyle]() : null,
+ y = (0, s.computeBbox)(this, m, e),
+ w = this.ui[r.$toHTML]().html;
+ if (!w) {
+ Object.assign(d, b);
+ return o.HTMLResult.success((0, s.createWrapper)(this, m), y);
+ }
+ this[r.$tabIndex] &&
+ (w.children && w.children[0]
+ ? (w.children[0].attributes.tabindex = this[r.$tabIndex])
+ : (w.attributes.tabindex = this[r.$tabIndex]));
+ w.attributes.style || (w.attributes.style = Object.create(null));
+ let S = null;
+ if (this.ui.button) {
+ 1 === w.children.length && ([S] = w.children.splice(0, 1));
+ Object.assign(w.attributes.style, b);
+ } else Object.assign(d, b);
+ p.push(w);
+ if (this.value)
+ if (this.ui.imageEdit) w.children.push(this.value[r.$toHTML]().html);
+ else if (!this.ui.button) {
+ let e = '';
+ if (this.value.exData) e = this.value.exData[r.$text]();
+ else if (this.value.text) e = this.value.text[r.$getExtra]();
+ else {
+ const t = this.value[r.$toHTML]().html;
+ null !== t && (e = t.children[0].value);
+ }
+ this.ui.textEdit &&
+ this.value.text &&
+ this.value.text.maxChars &&
+ (w.children[0].attributes.maxLength = this.value.text.maxChars);
+ if (e) {
+ if (this.ui.numericEdit) {
+ e = parseFloat(e);
+ e = isNaN(e) ? '' : e.toString();
+ }
+ 'textarea' === w.children[0].name
+ ? (w.children[0].attributes.textContent = e)
+ : (w.children[0].attributes.value = e);
+ }
+ }
+ if (!this.ui.imageEdit && w.children && w.children[0] && this.h) {
+ u = u || getBorderDims(this.ui[r.$getExtra]());
+ let t = 0;
+ if (this.caption && ['top', 'bottom'].includes(this.caption.placement)) {
+ t = this.caption.reserve;
+ t <= 0 && (t = this.caption[r.$getExtra](e).h);
+ const a = this.h - t - h - u.h;
+ w.children[0].attributes.style.height = (0, s.measureToString)(a);
+ } else w.children[0].attributes.style.height = '100%';
+ }
+ S && w.children.push(S);
+ if (!t) {
+ w.attributes.class && w.attributes.class.push('xfaLeft');
+ this.w = a;
+ this.h = n;
+ return o.HTMLResult.success((0, s.createWrapper)(this, m), y);
+ }
+ if (this.ui.button) {
+ d.padding && delete d.padding;
+ 'div' === t.name && (t.name = 'span');
+ w.children.push(t);
+ return o.HTMLResult.success(m, y);
+ }
+ this.ui.checkButton && (t.attributes.class[0] = 'xfaCaptionForCheckButton');
+ w.attributes.class || (w.attributes.class = []);
+ w.children.splice(0, 0, t);
+ switch (this.caption.placement) {
+ case 'left':
+ case 'inline':
+ w.attributes.class.push('xfaLeft');
+ break;
+ case 'right':
+ w.attributes.class.push('xfaRight');
+ break;
+ case 'top':
+ w.attributes.class.push('xfaTop');
+ break;
+ case 'bottom':
+ w.attributes.class.push('xfaBottom');
+ }
+ this.w = a;
+ this.h = n;
+ return o.HTMLResult.success((0, s.createWrapper)(this, m), y);
+ }
+ }
+ t.Field = Field;
+ class Fill extends r.XFAObject {
+ constructor(e) {
+ super(d, 'fill', !0);
+ this.id = e.id || '';
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.color = null;
+ this.extras = null;
+ this.linear = null;
+ this.pattern = null;
+ this.radial = null;
+ this.solid = null;
+ this.stipple = null;
+ }
+ [r.$toStyle]() {
+ const e = this[r.$getParent](),
+ t = e[r.$getParent]()[r.$getParent](),
+ a = Object.create(null);
+ let n = 'color',
+ i = n;
+ if (e instanceof Border) {
+ n = 'background-color';
+ i = 'background';
+ t instanceof Ui && (a.backgroundColor = 'white');
+ }
+ if (e instanceof Rectangle || e instanceof Arc) {
+ n = i = 'fill';
+ a.fill = 'white';
+ }
+ for (const e of Object.getOwnPropertyNames(this)) {
+ if ('extras' === e || 'color' === e) continue;
+ const t = this[e];
+ if (!(t instanceof r.XFAObject)) continue;
+ const s = t[r.$toStyle](this.color);
+ s && (a[s.startsWith('#') ? n : i] = s);
+ return a;
+ }
+ if (this.color && this.color.value) {
+ const e = this.color[r.$toStyle]();
+ a[e.startsWith('#') ? n : i] = e;
+ }
+ return a;
+ }
+ }
+ class Filter extends r.XFAObject {
+ constructor(e) {
+ super(d, 'filter', !0);
+ this.addRevocationInfo = (0, o.getStringOption)(e.addRevocationInfo, [
+ '',
+ 'required',
+ 'optional',
+ 'none',
+ ]);
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.version = (0, o.getInteger)({
+ data: this.version,
+ defaultValue: 5,
+ validate: (e) => e >= 1 && e <= 5,
+ });
+ this.appearanceFilter = null;
+ this.certificates = null;
+ this.digestMethods = null;
+ this.encodings = null;
+ this.encryptionMethods = null;
+ this.handler = null;
+ this.lockDocument = null;
+ this.mdp = null;
+ this.reasons = null;
+ this.timeStamp = null;
+ }
+ }
+ class Float extends r.ContentObject {
+ constructor(e) {
+ super(d, 'float');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$finalize]() {
+ const e = parseFloat(this[r.$content].trim());
+ this[r.$content] = isNaN(e) ? null : e;
+ }
+ [r.$toHTML](e) {
+ return valueToHtml(null !== this[r.$content] ? this[r.$content].toString() : '');
+ }
+ }
+ class Font extends r.XFAObject {
+ constructor(e) {
+ super(d, 'font', !0);
+ this.baselineShift = (0, o.getMeasurement)(e.baselineShift);
+ this.fontHorizontalScale = (0, o.getFloat)({
+ data: e.fontHorizontalScale,
+ defaultValue: 100,
+ validate: (e) => e >= 0,
+ });
+ this.fontVerticalScale = (0, o.getFloat)({
+ data: e.fontVerticalScale,
+ defaultValue: 100,
+ validate: (e) => e >= 0,
+ });
+ this.id = e.id || '';
+ this.kerningMode = (0, o.getStringOption)(e.kerningMode, ['none', 'pair']);
+ this.letterSpacing = (0, o.getMeasurement)(e.letterSpacing, '0');
+ this.lineThrough = (0, o.getInteger)({
+ data: e.lineThrough,
+ defaultValue: 0,
+ validate: (e) => 1 === e || 2 === e,
+ });
+ this.lineThroughPeriod = (0, o.getStringOption)(e.lineThroughPeriod, ['all', 'word']);
+ this.overline = (0, o.getInteger)({
+ data: e.overline,
+ defaultValue: 0,
+ validate: (e) => 1 === e || 2 === e,
+ });
+ this.overlinePeriod = (0, o.getStringOption)(e.overlinePeriod, ['all', 'word']);
+ this.posture = (0, o.getStringOption)(e.posture, ['normal', 'italic']);
+ this.size = (0, o.getMeasurement)(e.size, '10pt');
+ this.typeface = e.typeface || 'Courier';
+ this.underline = (0, o.getInteger)({
+ data: e.underline,
+ defaultValue: 0,
+ validate: (e) => 1 === e || 2 === e,
+ });
+ this.underlinePeriod = (0, o.getStringOption)(e.underlinePeriod, ['all', 'word']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.weight = (0, o.getStringOption)(e.weight, ['normal', 'bold']);
+ this.extras = null;
+ this.fill = null;
+ }
+ [r.$clean](e) {
+ super[r.$clean](e);
+ this[r.$globalData].usedTypefaces.add(this.typeface);
+ }
+ [r.$toStyle]() {
+ const e = (0, s.toStyle)(this, 'fill'),
+ t = e.color;
+ if (t)
+ if ('#000000' === t) delete e.color;
+ else if (!t.startsWith('#')) {
+ e.background = t;
+ e.backgroundClip = 'text';
+ e.color = 'transparent';
+ }
+ this.baselineShift && (e.verticalAlign = (0, s.measureToString)(this.baselineShift));
+ e.fontKerning = 'none' === this.kerningMode ? 'none' : 'normal';
+ e.letterSpacing = (0, s.measureToString)(this.letterSpacing);
+ if (0 !== this.lineThrough) {
+ e.textDecoration = 'line-through';
+ 2 === this.lineThrough && (e.textDecorationStyle = 'double');
+ }
+ if (0 !== this.overline) {
+ e.textDecoration = 'overline';
+ 2 === this.overline && (e.textDecorationStyle = 'double');
+ }
+ e.fontStyle = this.posture;
+ e.fontSize = (0, s.measureToString)(0.99 * this.size);
+ (0, s.setFontFamily)(this, this, this[r.$globalData].fontFinder, e);
+ if (0 !== this.underline) {
+ e.textDecoration = 'underline';
+ 2 === this.underline && (e.textDecorationStyle = 'double');
+ }
+ e.fontWeight = this.weight;
+ return e;
+ }
+ }
+ class Format extends r.XFAObject {
+ constructor(e) {
+ super(d, 'format', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.picture = null;
+ }
+ }
+ class Handler extends r.StringObject {
+ constructor(e) {
+ super(d, 'handler');
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Hyphenation extends r.XFAObject {
+ constructor(e) {
+ super(d, 'hyphenation');
+ this.excludeAllCaps = (0, o.getInteger)({
+ data: e.excludeAllCaps,
+ defaultValue: 0,
+ validate: (e) => 1 === e,
+ });
+ this.excludeInitialCap = (0, o.getInteger)({
+ data: e.excludeInitialCap,
+ defaultValue: 0,
+ validate: (e) => 1 === e,
+ });
+ this.hyphenate = (0, o.getInteger)({data: e.hyphenate, defaultValue: 0, validate: (e) => 1 === e});
+ this.id = e.id || '';
+ this.pushCharacterCount = (0, o.getInteger)({
+ data: e.pushCharacterCount,
+ defaultValue: 3,
+ validate: (e) => e >= 0,
+ });
+ this.remainCharacterCount = (0, o.getInteger)({
+ data: e.remainCharacterCount,
+ defaultValue: 3,
+ validate: (e) => e >= 0,
+ });
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.wordCharacterCount = (0, o.getInteger)({
+ data: e.wordCharacterCount,
+ defaultValue: 7,
+ validate: (e) => e >= 0,
+ });
+ }
+ }
+ class Image extends r.StringObject {
+ constructor(e) {
+ super(d, 'image');
+ this.aspect = (0, o.getStringOption)(e.aspect, ['fit', 'actual', 'height', 'none', 'width']);
+ this.contentType = e.contentType || '';
+ this.href = e.href || '';
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.transferEncoding = (0, o.getStringOption)(e.transferEncoding, ['base64', 'none', 'package']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$toHTML]() {
+ if (this.contentType && !p.has(this.contentType.toLowerCase())) return o.HTMLResult.EMPTY;
+ let e = this[r.$globalData].images && this[r.$globalData].images.get(this.href);
+ if (!e && (this.href || !this[r.$content])) return o.HTMLResult.EMPTY;
+ e || 'base64' !== this.transferEncoding || (e = (0, c.stringToBytes)(atob(this[r.$content])));
+ if (!e) return o.HTMLResult.EMPTY;
+ if (!this.contentType) {
+ for (const [t, a] of m)
+ if (e.length > t.length && t.every((t, a) => t === e[a])) {
+ this.contentType = a;
+ break;
+ }
+ if (!this.contentType) return o.HTMLResult.EMPTY;
+ }
+ const t = new Blob([e], {type: this.contentType});
+ let a;
+ switch (this.aspect) {
+ case 'fit':
+ case 'actual':
+ break;
+ case 'height':
+ a = {height: '100%', objectFit: 'fill'};
+ break;
+ case 'none':
+ a = {width: '100%', height: '100%', objectFit: 'fill'};
+ break;
+ case 'width':
+ a = {width: '100%', objectFit: 'fill'};
+ }
+ const n = this[r.$getParent]();
+ return o.HTMLResult.success({
+ name: 'img',
+ attributes: {
+ class: ['xfaImage'],
+ style: a,
+ src: URL.createObjectURL(t),
+ alt: n ? ariaLabel(n[r.$getParent]()) : null,
+ },
+ });
+ }
+ }
+ class ImageEdit extends r.XFAObject {
+ constructor(e) {
+ super(d, 'imageEdit', !0);
+ this.data = (0, o.getStringOption)(e.data, ['link', 'embed']);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.border = null;
+ this.extras = null;
+ this.margin = null;
+ }
+ [r.$toHTML](e) {
+ return 'embed' === this.data
+ ? o.HTMLResult.success({name: 'div', children: [], attributes: {}})
+ : o.HTMLResult.EMPTY;
+ }
+ }
+ class Integer extends r.ContentObject {
+ constructor(e) {
+ super(d, 'integer');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$finalize]() {
+ const e = parseInt(this[r.$content].trim(), 10);
+ this[r.$content] = isNaN(e) ? null : e;
+ }
+ [r.$toHTML](e) {
+ return valueToHtml(null !== this[r.$content] ? this[r.$content].toString() : '');
+ }
+ }
+ class Issuers extends r.XFAObject {
+ constructor(e) {
+ super(d, 'issuers', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.certificate = new r.XFAObjectArray();
+ }
+ }
+ class Items extends r.XFAObject {
+ constructor(e) {
+ super(d, 'items', !0);
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.ref = e.ref || '';
+ this.save = (0, o.getInteger)({data: e.save, defaultValue: 0, validate: (e) => 1 === e});
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.boolean = new r.XFAObjectArray();
+ this.date = new r.XFAObjectArray();
+ this.dateTime = new r.XFAObjectArray();
+ this.decimal = new r.XFAObjectArray();
+ this.exData = new r.XFAObjectArray();
+ this.float = new r.XFAObjectArray();
+ this.image = new r.XFAObjectArray();
+ this.integer = new r.XFAObjectArray();
+ this.text = new r.XFAObjectArray();
+ this.time = new r.XFAObjectArray();
+ }
+ [r.$toHTML]() {
+ const e = [];
+ for (const t of this[r.$getChildren]()) e.push(t[r.$text]());
+ return o.HTMLResult.success(e);
+ }
+ }
+ t.Items = Items;
+ class Keep extends r.XFAObject {
+ constructor(e) {
+ super(d, 'keep', !0);
+ this.id = e.id || '';
+ const t = ['none', 'contentArea', 'pageArea'];
+ this.intact = (0, o.getStringOption)(e.intact, t);
+ this.next = (0, o.getStringOption)(e.next, t);
+ this.previous = (0, o.getStringOption)(e.previous, t);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ }
+ }
+ class KeyUsage extends r.XFAObject {
+ constructor(e) {
+ super(d, 'keyUsage');
+ const t = ['', 'yes', 'no'];
+ this.crlSign = (0, o.getStringOption)(e.crlSign, t);
+ this.dataEncipherment = (0, o.getStringOption)(e.dataEncipherment, t);
+ this.decipherOnly = (0, o.getStringOption)(e.decipherOnly, t);
+ this.digitalSignature = (0, o.getStringOption)(e.digitalSignature, t);
+ this.encipherOnly = (0, o.getStringOption)(e.encipherOnly, t);
+ this.id = e.id || '';
+ this.keyAgreement = (0, o.getStringOption)(e.keyAgreement, t);
+ this.keyCertSign = (0, o.getStringOption)(e.keyCertSign, t);
+ this.keyEncipherment = (0, o.getStringOption)(e.keyEncipherment, t);
+ this.nonRepudiation = (0, o.getStringOption)(e.nonRepudiation, t);
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Line extends r.XFAObject {
+ constructor(e) {
+ super(d, 'line', !0);
+ this.hand = (0, o.getStringOption)(e.hand, ['even', 'left', 'right']);
+ this.id = e.id || '';
+ this.slope = (0, o.getStringOption)(e.slope, ['\\', '/']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.edge = null;
+ }
+ [r.$toHTML]() {
+ const e = this[r.$getParent]()[r.$getParent](),
+ t = this.edge || new Edge({}),
+ a = t[r.$toStyle](),
+ n = Object.create(null),
+ i = 'visible' === t.presence ? t.thickness : 0;
+ n.strokeWidth = (0, s.measureToString)(i);
+ n.stroke = a.color;
+ let c,
+ l,
+ h,
+ u,
+ d = '100%',
+ g = '100%';
+ if (e.w <= i) {
+ [c, l, h, u] = ['50%', 0, '50%', '100%'];
+ d = n.strokeWidth;
+ } else if (e.h <= i) {
+ [c, l, h, u] = [0, '50%', '100%', '50%'];
+ g = n.strokeWidth;
+ } else
+ '\\' === this.slope ? ([c, l, h, u] = [0, 0, '100%', '100%']) : ([c, l, h, u] = [0, '100%', '100%', 0]);
+ const p = {
+ name: 'svg',
+ children: [{name: 'line', attributes: {xmlns: f, x1: c, y1: l, x2: h, y2: u, style: n}}],
+ attributes: {xmlns: f, width: d, height: g, style: {overflow: 'visible'}},
+ };
+ if (hasMargin(e))
+ return o.HTMLResult.success({
+ name: 'div',
+ attributes: {style: {display: 'inline', width: '100%', height: '100%'}},
+ children: [p],
+ });
+ p.attributes.style.position = 'absolute';
+ return o.HTMLResult.success(p);
+ }
+ }
+ class Linear extends r.XFAObject {
+ constructor(e) {
+ super(d, 'linear', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['toRight', 'toBottom', 'toLeft', 'toTop']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.color = null;
+ this.extras = null;
+ }
+ [r.$toStyle](e) {
+ e = e ? e[r.$toStyle]() : '#FFFFFF';
+ return `linear-gradient(${this.type.replace(/([RBLT])/, ' $1').toLowerCase()}, ${e}, ${this.color ? this.color[r.$toStyle]() : '#000000'})`;
+ }
+ }
+ class LockDocument extends r.ContentObject {
+ constructor(e) {
+ super(d, 'lockDocument');
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$finalize]() {
+ this[r.$content] = (0, o.getStringOption)(this[r.$content], ['auto', '0', '1']);
+ }
+ }
+ class Manifest extends r.XFAObject {
+ constructor(e) {
+ super(d, 'manifest', !0);
+ this.action = (0, o.getStringOption)(e.action, ['include', 'all', 'exclude']);
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.ref = new r.XFAObjectArray();
+ }
+ }
+ class Margin extends r.XFAObject {
+ constructor(e) {
+ super(d, 'margin', !0);
+ this.bottomInset = (0, o.getMeasurement)(e.bottomInset, '0');
+ this.id = e.id || '';
+ this.leftInset = (0, o.getMeasurement)(e.leftInset, '0');
+ this.rightInset = (0, o.getMeasurement)(e.rightInset, '0');
+ this.topInset = (0, o.getMeasurement)(e.topInset, '0');
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ }
+ [r.$toStyle]() {
+ return {
+ margin:
+ (0, s.measureToString)(this.topInset) +
+ ' ' +
+ (0, s.measureToString)(this.rightInset) +
+ ' ' +
+ (0, s.measureToString)(this.bottomInset) +
+ ' ' +
+ (0, s.measureToString)(this.leftInset),
+ };
+ }
+ }
+ class Mdp extends r.XFAObject {
+ constructor(e) {
+ super(d, 'mdp');
+ this.id = e.id || '';
+ this.permissions = (0, o.getInteger)({
+ data: e.permissions,
+ defaultValue: 2,
+ validate: (e) => 1 === e || 3 === e,
+ });
+ this.signatureType = (0, o.getStringOption)(e.signatureType, ['filler', 'author']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Medium extends r.XFAObject {
+ constructor(e) {
+ super(d, 'medium');
+ this.id = e.id || '';
+ this.imagingBBox = (0, o.getBBox)(e.imagingBBox);
+ this.long = (0, o.getMeasurement)(e.long);
+ this.orientation = (0, o.getStringOption)(e.orientation, ['portrait', 'landscape']);
+ this.short = (0, o.getMeasurement)(e.short);
+ this.stock = e.stock || '';
+ this.trayIn = (0, o.getStringOption)(e.trayIn, ['auto', 'delegate', 'pageFront']);
+ this.trayOut = (0, o.getStringOption)(e.trayOut, ['auto', 'delegate']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Message extends r.XFAObject {
+ constructor(e) {
+ super(d, 'message', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.text = new r.XFAObjectArray();
+ }
+ }
+ class NumericEdit extends r.XFAObject {
+ constructor(e) {
+ super(d, 'numericEdit', !0);
+ this.hScrollPolicy = (0, o.getStringOption)(e.hScrollPolicy, ['auto', 'off', 'on']);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.border = null;
+ this.comb = null;
+ this.extras = null;
+ this.margin = null;
+ }
+ [r.$toHTML](e) {
+ const t = (0, s.toStyle)(this, 'border', 'font', 'margin'),
+ a = this[r.$getParent]()[r.$getParent](),
+ n = {
+ name: 'input',
+ attributes: {
+ type: 'text',
+ fieldId: a[r.$uid],
+ dataId: (a[r.$data] && a[r.$data][r.$uid]) || a[r.$uid],
+ class: ['xfaTextfield'],
+ style: t,
+ 'aria-label': ariaLabel(a),
+ 'aria-required': !1,
+ },
+ };
+ if (isRequired(a)) {
+ n.attributes['aria-required'] = !0;
+ n.attributes.required = !0;
+ }
+ return o.HTMLResult.success({name: 'label', attributes: {class: ['xfaLabel']}, children: [n]});
+ }
+ }
+ class Occur extends r.XFAObject {
+ constructor(e) {
+ super(d, 'occur', !0);
+ this.id = e.id || '';
+ this.initial =
+ '' !== e.initial ? (0, o.getInteger)({data: e.initial, defaultValue: '', validate: (e) => !0}) : '';
+ this.max = '' !== e.max ? (0, o.getInteger)({data: e.max, defaultValue: 1, validate: (e) => !0}) : '';
+ this.min = '' !== e.min ? (0, o.getInteger)({data: e.min, defaultValue: 1, validate: (e) => !0}) : '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ }
+ [r.$clean]() {
+ const e = this[r.$getParent](),
+ t = this.min;
+ '' === this.min && (this.min = e instanceof PageArea || e instanceof PageSet ? 0 : 1);
+ '' === this.max &&
+ (this.max = '' === t ? (e instanceof PageArea || e instanceof PageSet ? -1 : 1) : this.min);
+ -1 !== this.max && this.max < this.min && (this.max = this.min);
+ '' === this.initial && (this.initial = e instanceof Template ? 1 : this.min);
+ }
+ }
+ class Oid extends r.StringObject {
+ constructor(e) {
+ super(d, 'oid');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Oids extends r.XFAObject {
+ constructor(e) {
+ super(d, 'oids', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.oid = new r.XFAObjectArray();
+ }
+ }
+ class Overflow extends r.XFAObject {
+ constructor(e) {
+ super(d, 'overflow');
+ this.id = e.id || '';
+ this.leader = e.leader || '';
+ this.target = e.target || '';
+ this.trailer = e.trailer || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$getExtra]() {
+ if (!this[r.$extra]) {
+ const e = this[r.$getParent](),
+ t = this[r.$getTemplateRoot](),
+ a = t[r.$searchNode](this.target, e),
+ n = t[r.$searchNode](this.leader, e),
+ i = t[r.$searchNode](this.trailer, e);
+ this[r.$extra] = {
+ target: (a && a[0]) || null,
+ leader: (n && n[0]) || null,
+ trailer: (i && i[0]) || null,
+ addLeader: !1,
+ addTrailer: !1,
+ };
+ }
+ return this[r.$extra];
+ }
+ }
+ class PageArea extends r.XFAObject {
+ constructor(e) {
+ super(d, 'pageArea', !0);
+ this.blankOrNotBlank = (0, o.getStringOption)(e.blankOrNotBlank, ['any', 'blank', 'notBlank']);
+ this.id = e.id || '';
+ this.initialNumber = (0, o.getInteger)({data: e.initialNumber, defaultValue: 1, validate: (e) => !0});
+ this.name = e.name || '';
+ this.numbered = (0, o.getInteger)({data: e.numbered, defaultValue: 1, validate: (e) => !0});
+ this.oddOrEven = (0, o.getStringOption)(e.oddOrEven, ['any', 'even', 'odd']);
+ this.pagePosition = (0, o.getStringOption)(e.pagePosition, ['any', 'first', 'last', 'only', 'rest']);
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.desc = null;
+ this.extras = null;
+ this.medium = null;
+ this.occur = null;
+ this.area = new r.XFAObjectArray();
+ this.contentArea = new r.XFAObjectArray();
+ this.draw = new r.XFAObjectArray();
+ this.exclGroup = new r.XFAObjectArray();
+ this.field = new r.XFAObjectArray();
+ this.subform = new r.XFAObjectArray();
+ }
+ [r.$isUsable]() {
+ if (!this[r.$extra]) {
+ this[r.$extra] = {numberOfUse: 0};
+ return !0;
+ }
+ return !this.occur || -1 === this.occur.max || this[r.$extra].numberOfUse < this.occur.max;
+ }
+ [r.$cleanPage]() {
+ delete this[r.$extra];
+ }
+ [r.$getNextPage]() {
+ this[r.$extra] || (this[r.$extra] = {numberOfUse: 0});
+ const e = this[r.$getParent]();
+ if ('orderedOccurrence' === e.relation && this[r.$isUsable]()) {
+ this[r.$extra].numberOfUse += 1;
+ return this;
+ }
+ return e[r.$getNextPage]();
+ }
+ [r.$getAvailableSpace]() {
+ return this[r.$extra].space || {width: 0, height: 0};
+ }
+ [r.$toHTML]() {
+ this[r.$extra] || (this[r.$extra] = {numberOfUse: 1});
+ const e = [];
+ this[r.$extra].children = e;
+ const t = Object.create(null);
+ if (this.medium && this.medium.short && this.medium.long) {
+ t.width = (0, s.measureToString)(this.medium.short);
+ t.height = (0, s.measureToString)(this.medium.long);
+ this[r.$extra].space = {width: this.medium.short, height: this.medium.long};
+ if ('landscape' === this.medium.orientation) {
+ const e = t.width;
+ t.width = t.height;
+ t.height = e;
+ this[r.$extra].space = {width: this.medium.long, height: this.medium.short};
+ }
+ } else (0, c.warn)('XFA - No medium specified in pageArea: please file a bug.');
+ this[r.$childrenToHTML]({filter: new Set(['area', 'draw', 'field', 'subform']), include: !0});
+ this[r.$childrenToHTML]({filter: new Set(['contentArea']), include: !0});
+ return o.HTMLResult.success({
+ name: 'div',
+ children: e,
+ attributes: {class: ['xfaPage'], id: this[r.$uid], style: t, xfaName: this.name},
+ });
+ }
+ }
+ class PageSet extends r.XFAObject {
+ constructor(e) {
+ super(d, 'pageSet', !0);
+ this.duplexImposition = (0, o.getStringOption)(e.duplexImposition, ['longEdge', 'shortEdge']);
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.relation = (0, o.getStringOption)(e.relation, [
+ 'orderedOccurrence',
+ 'duplexPaginated',
+ 'simplexPaginated',
+ ]);
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.occur = null;
+ this.pageArea = new r.XFAObjectArray();
+ this.pageSet = new r.XFAObjectArray();
+ }
+ [r.$cleanPage]() {
+ for (const e of this.pageArea.children) e[r.$cleanPage]();
+ for (const e of this.pageSet.children) e[r.$cleanPage]();
+ }
+ [r.$isUsable]() {
+ return !this.occur || -1 === this.occur.max || this[r.$extra].numberOfUse < this.occur.max;
+ }
+ [r.$getNextPage]() {
+ this[r.$extra] || (this[r.$extra] = {numberOfUse: 1, pageIndex: -1, pageSetIndex: -1});
+ if ('orderedOccurrence' === this.relation) {
+ if (this[r.$extra].pageIndex + 1 < this.pageArea.children.length) {
+ this[r.$extra].pageIndex += 1;
+ return this.pageArea.children[this[r.$extra].pageIndex][r.$getNextPage]();
+ }
+ if (this[r.$extra].pageSetIndex + 1 < this.pageSet.children.length) {
+ this[r.$extra].pageSetIndex += 1;
+ return this.pageSet.children[this[r.$extra].pageSetIndex][r.$getNextPage]();
+ }
+ if (this[r.$isUsable]()) {
+ this[r.$extra].numberOfUse += 1;
+ this[r.$extra].pageIndex = -1;
+ this[r.$extra].pageSetIndex = -1;
+ return this[r.$getNextPage]();
+ }
+ const e = this[r.$getParent]();
+ if (e instanceof PageSet) return e[r.$getNextPage]();
+ this[r.$cleanPage]();
+ return this[r.$getNextPage]();
+ }
+ const e = this[r.$getTemplateRoot]()[r.$extra].pageNumber,
+ t = e % 2 == 0 ? 'even' : 'odd',
+ a = 0 === e ? 'first' : 'rest';
+ let n = this.pageArea.children.find((e) => e.oddOrEven === t && e.pagePosition === a);
+ if (n) return n;
+ n = this.pageArea.children.find((e) => 'any' === e.oddOrEven && e.pagePosition === a);
+ if (n) return n;
+ n = this.pageArea.children.find((e) => 'any' === e.oddOrEven && 'any' === e.pagePosition);
+ return n || this.pageArea.children[0];
+ }
+ }
+ class Para extends r.XFAObject {
+ constructor(e) {
+ super(d, 'para', !0);
+ this.hAlign = (0, o.getStringOption)(e.hAlign, [
+ 'left',
+ 'center',
+ 'justify',
+ 'justifyAll',
+ 'radix',
+ 'right',
+ ]);
+ this.id = e.id || '';
+ this.lineHeight = e.lineHeight ? (0, o.getMeasurement)(e.lineHeight, '0pt') : '';
+ this.marginLeft = e.marginLeft ? (0, o.getMeasurement)(e.marginLeft, '0pt') : '';
+ this.marginRight = e.marginRight ? (0, o.getMeasurement)(e.marginRight, '0pt') : '';
+ this.orphans = (0, o.getInteger)({data: e.orphans, defaultValue: 0, validate: (e) => e >= 0});
+ this.preserve = e.preserve || '';
+ this.radixOffset = e.radixOffset ? (0, o.getMeasurement)(e.radixOffset, '0pt') : '';
+ this.spaceAbove = e.spaceAbove ? (0, o.getMeasurement)(e.spaceAbove, '0pt') : '';
+ this.spaceBelow = e.spaceBelow ? (0, o.getMeasurement)(e.spaceBelow, '0pt') : '';
+ this.tabDefault = e.tabDefault ? (0, o.getMeasurement)(this.tabDefault) : '';
+ this.tabStops = (e.tabStops || '')
+ .trim()
+ .split(/\s+/)
+ .map((e, t) => (t % 2 == 1 ? (0, o.getMeasurement)(e) : e));
+ this.textIndent = e.textIndent ? (0, o.getMeasurement)(e.textIndent, '0pt') : '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.vAlign = (0, o.getStringOption)(e.vAlign, ['top', 'bottom', 'middle']);
+ this.widows = (0, o.getInteger)({data: e.widows, defaultValue: 0, validate: (e) => e >= 0});
+ this.hyphenation = null;
+ }
+ [r.$toStyle]() {
+ const e = (0, s.toStyle)(this, 'hAlign');
+ '' !== this.marginLeft && (e.paddingLeft = (0, s.measureToString)(this.marginLeft));
+ '' !== this.marginRight && (e.paddingight = (0, s.measureToString)(this.marginRight));
+ '' !== this.spaceAbove && (e.paddingTop = (0, s.measureToString)(this.spaceAbove));
+ '' !== this.spaceBelow && (e.paddingBottom = (0, s.measureToString)(this.spaceBelow));
+ if ('' !== this.textIndent) {
+ e.textIndent = (0, s.measureToString)(this.textIndent);
+ (0, s.fixTextIndent)(e);
+ }
+ this.lineHeight > 0 && (e.lineHeight = (0, s.measureToString)(this.lineHeight));
+ '' !== this.tabDefault && (e.tabSize = (0, s.measureToString)(this.tabDefault));
+ this.tabStops.length;
+ this.hyphenatation && Object.assign(e, this.hyphenatation[r.$toStyle]());
+ return e;
+ }
+ }
+ class PasswordEdit extends r.XFAObject {
+ constructor(e) {
+ super(d, 'passwordEdit', !0);
+ this.hScrollPolicy = (0, o.getStringOption)(e.hScrollPolicy, ['auto', 'off', 'on']);
+ this.id = e.id || '';
+ this.passwordChar = e.passwordChar || '*';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.border = null;
+ this.extras = null;
+ this.margin = null;
+ }
+ }
+ class Pattern extends r.XFAObject {
+ constructor(e) {
+ super(d, 'pattern', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, [
+ 'crossHatch',
+ 'crossDiagonal',
+ 'diagonalLeft',
+ 'diagonalRight',
+ 'horizontal',
+ 'vertical',
+ ]);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.color = null;
+ this.extras = null;
+ }
+ [r.$toStyle](e) {
+ e = e ? e[r.$toStyle]() : '#FFFFFF';
+ const t = this.color ? this.color[r.$toStyle]() : '#000000',
+ a = 'repeating-linear-gradient',
+ n = `${e},${e} 5px,${t} 5px,${t} 10px`;
+ switch (this.type) {
+ case 'crossHatch':
+ return `${a}(to top,${n}) ${a}(to right,${n})`;
+ case 'crossDiagonal':
+ return `${a}(45deg,${n}) ${a}(-45deg,${n})`;
+ case 'diagonalLeft':
+ return `${a}(45deg,${n})`;
+ case 'diagonalRight':
+ return `${a}(-45deg,${n})`;
+ case 'horizontal':
+ return `${a}(to top,${n})`;
+ case 'vertical':
+ return `${a}(to right,${n})`;
+ }
+ return '';
+ }
+ }
+ class Picture extends r.StringObject {
+ constructor(e) {
+ super(d, 'picture');
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Proto extends r.XFAObject {
+ constructor(e) {
+ super(d, 'proto', !0);
+ this.appearanceFilter = new r.XFAObjectArray();
+ this.arc = new r.XFAObjectArray();
+ this.area = new r.XFAObjectArray();
+ this.assist = new r.XFAObjectArray();
+ this.barcode = new r.XFAObjectArray();
+ this.bindItems = new r.XFAObjectArray();
+ this.bookend = new r.XFAObjectArray();
+ this.boolean = new r.XFAObjectArray();
+ this.border = new r.XFAObjectArray();
+ this.break = new r.XFAObjectArray();
+ this.breakAfter = new r.XFAObjectArray();
+ this.breakBefore = new r.XFAObjectArray();
+ this.button = new r.XFAObjectArray();
+ this.calculate = new r.XFAObjectArray();
+ this.caption = new r.XFAObjectArray();
+ this.certificate = new r.XFAObjectArray();
+ this.certificates = new r.XFAObjectArray();
+ this.checkButton = new r.XFAObjectArray();
+ this.choiceList = new r.XFAObjectArray();
+ this.color = new r.XFAObjectArray();
+ this.comb = new r.XFAObjectArray();
+ this.connect = new r.XFAObjectArray();
+ this.contentArea = new r.XFAObjectArray();
+ this.corner = new r.XFAObjectArray();
+ this.date = new r.XFAObjectArray();
+ this.dateTime = new r.XFAObjectArray();
+ this.dateTimeEdit = new r.XFAObjectArray();
+ this.decimal = new r.XFAObjectArray();
+ this.defaultUi = new r.XFAObjectArray();
+ this.desc = new r.XFAObjectArray();
+ this.digestMethod = new r.XFAObjectArray();
+ this.digestMethods = new r.XFAObjectArray();
+ this.draw = new r.XFAObjectArray();
+ this.edge = new r.XFAObjectArray();
+ this.encoding = new r.XFAObjectArray();
+ this.encodings = new r.XFAObjectArray();
+ this.encrypt = new r.XFAObjectArray();
+ this.encryptData = new r.XFAObjectArray();
+ this.encryption = new r.XFAObjectArray();
+ this.encryptionMethod = new r.XFAObjectArray();
+ this.encryptionMethods = new r.XFAObjectArray();
+ this.event = new r.XFAObjectArray();
+ this.exData = new r.XFAObjectArray();
+ this.exObject = new r.XFAObjectArray();
+ this.exclGroup = new r.XFAObjectArray();
+ this.execute = new r.XFAObjectArray();
+ this.extras = new r.XFAObjectArray();
+ this.field = new r.XFAObjectArray();
+ this.fill = new r.XFAObjectArray();
+ this.filter = new r.XFAObjectArray();
+ this.float = new r.XFAObjectArray();
+ this.font = new r.XFAObjectArray();
+ this.format = new r.XFAObjectArray();
+ this.handler = new r.XFAObjectArray();
+ this.hyphenation = new r.XFAObjectArray();
+ this.image = new r.XFAObjectArray();
+ this.imageEdit = new r.XFAObjectArray();
+ this.integer = new r.XFAObjectArray();
+ this.issuers = new r.XFAObjectArray();
+ this.items = new r.XFAObjectArray();
+ this.keep = new r.XFAObjectArray();
+ this.keyUsage = new r.XFAObjectArray();
+ this.line = new r.XFAObjectArray();
+ this.linear = new r.XFAObjectArray();
+ this.lockDocument = new r.XFAObjectArray();
+ this.manifest = new r.XFAObjectArray();
+ this.margin = new r.XFAObjectArray();
+ this.mdp = new r.XFAObjectArray();
+ this.medium = new r.XFAObjectArray();
+ this.message = new r.XFAObjectArray();
+ this.numericEdit = new r.XFAObjectArray();
+ this.occur = new r.XFAObjectArray();
+ this.oid = new r.XFAObjectArray();
+ this.oids = new r.XFAObjectArray();
+ this.overflow = new r.XFAObjectArray();
+ this.pageArea = new r.XFAObjectArray();
+ this.pageSet = new r.XFAObjectArray();
+ this.para = new r.XFAObjectArray();
+ this.passwordEdit = new r.XFAObjectArray();
+ this.pattern = new r.XFAObjectArray();
+ this.picture = new r.XFAObjectArray();
+ this.radial = new r.XFAObjectArray();
+ this.reason = new r.XFAObjectArray();
+ this.reasons = new r.XFAObjectArray();
+ this.rectangle = new r.XFAObjectArray();
+ this.ref = new r.XFAObjectArray();
+ this.script = new r.XFAObjectArray();
+ this.setProperty = new r.XFAObjectArray();
+ this.signData = new r.XFAObjectArray();
+ this.signature = new r.XFAObjectArray();
+ this.signing = new r.XFAObjectArray();
+ this.solid = new r.XFAObjectArray();
+ this.speak = new r.XFAObjectArray();
+ this.stipple = new r.XFAObjectArray();
+ this.subform = new r.XFAObjectArray();
+ this.subformSet = new r.XFAObjectArray();
+ this.subjectDN = new r.XFAObjectArray();
+ this.subjectDNs = new r.XFAObjectArray();
+ this.submit = new r.XFAObjectArray();
+ this.text = new r.XFAObjectArray();
+ this.textEdit = new r.XFAObjectArray();
+ this.time = new r.XFAObjectArray();
+ this.timeStamp = new r.XFAObjectArray();
+ this.toolTip = new r.XFAObjectArray();
+ this.traversal = new r.XFAObjectArray();
+ this.traverse = new r.XFAObjectArray();
+ this.ui = new r.XFAObjectArray();
+ this.validate = new r.XFAObjectArray();
+ this.value = new r.XFAObjectArray();
+ this.variables = new r.XFAObjectArray();
+ }
+ }
+ class Radial extends r.XFAObject {
+ constructor(e) {
+ super(d, 'radial', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['toEdge', 'toCenter']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.color = null;
+ this.extras = null;
+ }
+ [r.$toStyle](e) {
+ e = e ? e[r.$toStyle]() : '#FFFFFF';
+ const t = this.color ? this.color[r.$toStyle]() : '#000000';
+ return `radial-gradient(circle at center, ${'toEdge' === this.type ? `${e},${t}` : `${t},${e}`})`;
+ }
+ }
+ class Reason extends r.StringObject {
+ constructor(e) {
+ super(d, 'reason');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Reasons extends r.XFAObject {
+ constructor(e) {
+ super(d, 'reasons', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.reason = new r.XFAObjectArray();
+ }
+ }
+ class Rectangle extends r.XFAObject {
+ constructor(e) {
+ super(d, 'rectangle', !0);
+ this.hand = (0, o.getStringOption)(e.hand, ['even', 'left', 'right']);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.corner = new r.XFAObjectArray(4);
+ this.edge = new r.XFAObjectArray(4);
+ this.fill = null;
+ }
+ [r.$toHTML]() {
+ const e = this.edge.children.length ? this.edge.children[0] : new Edge({}),
+ t = e[r.$toStyle](),
+ a = Object.create(null);
+ this.fill && 'visible' === this.fill.presence
+ ? Object.assign(a, this.fill[r.$toStyle]())
+ : (a.fill = 'transparent');
+ a.strokeWidth = (0, s.measureToString)('visible' === e.presence ? e.thickness : 0);
+ a.stroke = t.color;
+ const n = (this.corner.children.length ? this.corner.children[0] : new Corner({}))[r.$toStyle](),
+ i = {
+ name: 'svg',
+ children: [
+ {
+ name: 'rect',
+ attributes: {
+ xmlns: f,
+ width: '100%',
+ height: '100%',
+ x: 0,
+ y: 0,
+ rx: n.radius,
+ ry: n.radius,
+ style: a,
+ },
+ },
+ ],
+ attributes: {xmlns: f, style: {overflow: 'visible'}, width: '100%', height: '100%'},
+ };
+ if (hasMargin(this[r.$getParent]()[r.$getParent]()))
+ return o.HTMLResult.success({
+ name: 'div',
+ attributes: {style: {display: 'inline', width: '100%', height: '100%'}},
+ children: [i],
+ });
+ i.attributes.style.position = 'absolute';
+ return o.HTMLResult.success(i);
+ }
+ }
+ class RefElement extends r.StringObject {
+ constructor(e) {
+ super(d, 'ref');
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Script extends r.StringObject {
+ constructor(e) {
+ super(d, 'script');
+ this.binding = e.binding || '';
+ this.contentType = e.contentType || '';
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.runAt = (0, o.getStringOption)(e.runAt, ['client', 'both', 'server']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class SetProperty extends r.XFAObject {
+ constructor(e) {
+ super(d, 'setProperty');
+ this.connection = e.connection || '';
+ this.ref = e.ref || '';
+ this.target = e.target || '';
+ }
+ }
+ t.SetProperty = SetProperty;
+ class SignData extends r.XFAObject {
+ constructor(e) {
+ super(d, 'signData', !0);
+ this.id = e.id || '';
+ this.operation = (0, o.getStringOption)(e.operation, ['sign', 'clear', 'verify']);
+ this.ref = e.ref || '';
+ this.target = e.target || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.filter = null;
+ this.manifest = null;
+ }
+ }
+ class Signature extends r.XFAObject {
+ constructor(e) {
+ super(d, 'signature', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['PDF1.3', 'PDF1.6']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.border = null;
+ this.extras = null;
+ this.filter = null;
+ this.manifest = null;
+ this.margin = null;
+ }
+ }
+ class Signing extends r.XFAObject {
+ constructor(e) {
+ super(d, 'signing', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.certificate = new r.XFAObjectArray();
+ }
+ }
+ class Solid extends r.XFAObject {
+ constructor(e) {
+ super(d, 'solid', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ }
+ [r.$toStyle](e) {
+ return e ? e[r.$toStyle]() : '#FFFFFF';
+ }
+ }
+ class Speak extends r.StringObject {
+ constructor(e) {
+ super(d, 'speak');
+ this.disable = (0, o.getInteger)({data: e.disable, defaultValue: 0, validate: (e) => 1 === e});
+ this.id = e.id || '';
+ this.priority = (0, o.getStringOption)(e.priority, ['custom', 'caption', 'name', 'toolTip']);
+ this.rid = e.rid || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Stipple extends r.XFAObject {
+ constructor(e) {
+ super(d, 'stipple', !0);
+ this.id = e.id || '';
+ this.rate = (0, o.getInteger)({data: e.rate, defaultValue: 50, validate: (e) => e >= 0 && e <= 100});
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.color = null;
+ this.extras = null;
+ }
+ [r.$toStyle](e) {
+ const t = this.rate / 100;
+ return c.Util.makeHexColor(
+ Math.round(e.value.r * (1 - t) + this.value.r * t),
+ Math.round(e.value.g * (1 - t) + this.value.g * t),
+ Math.round(e.value.b * (1 - t) + this.value.b * t)
+ );
+ }
+ }
+ class Subform extends r.XFAObject {
+ constructor(e) {
+ super(d, 'subform', !0);
+ this.access = (0, o.getStringOption)(e.access, ['open', 'nonInteractive', 'protected', 'readOnly']);
+ this.allowMacro = (0, o.getInteger)({data: e.allowMacro, defaultValue: 0, validate: (e) => 1 === e});
+ this.anchorType = (0, o.getStringOption)(e.anchorType, [
+ 'topLeft',
+ 'bottomCenter',
+ 'bottomLeft',
+ 'bottomRight',
+ 'middleCenter',
+ 'middleLeft',
+ 'middleRight',
+ 'topCenter',
+ 'topRight',
+ ]);
+ this.colSpan = (0, o.getInteger)({data: e.colSpan, defaultValue: 1, validate: (e) => e >= 1 || -1 === e});
+ this.columnWidths = (e.columnWidths || '')
+ .trim()
+ .split(/\s+/)
+ .map((e) => ('-1' === e ? -1 : (0, o.getMeasurement)(e)));
+ this.h = e.h ? (0, o.getMeasurement)(e.h) : '';
+ this.hAlign = (0, o.getStringOption)(e.hAlign, [
+ 'left',
+ 'center',
+ 'justify',
+ 'justifyAll',
+ 'radix',
+ 'right',
+ ]);
+ this.id = e.id || '';
+ this.layout = (0, o.getStringOption)(e.layout, [
+ 'position',
+ 'lr-tb',
+ 'rl-row',
+ 'rl-tb',
+ 'row',
+ 'table',
+ 'tb',
+ ]);
+ this.locale = e.locale || '';
+ this.maxH = (0, o.getMeasurement)(e.maxH, '0pt');
+ this.maxW = (0, o.getMeasurement)(e.maxW, '0pt');
+ this.mergeMode = (0, o.getStringOption)(e.mergeMode, ['consumeData', 'matchTemplate']);
+ this.minH = (0, o.getMeasurement)(e.minH, '0pt');
+ this.minW = (0, o.getMeasurement)(e.minW, '0pt');
+ this.name = e.name || '';
+ this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.restoreState = (0, o.getStringOption)(e.restoreState, ['manual', 'auto']);
+ this.scope = (0, o.getStringOption)(e.scope, ['name', 'none']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.w = e.w ? (0, o.getMeasurement)(e.w) : '';
+ this.x = (0, o.getMeasurement)(e.x, '0pt');
+ this.y = (0, o.getMeasurement)(e.y, '0pt');
+ this.assist = null;
+ this.bind = null;
+ this.bookend = null;
+ this.border = null;
+ this.break = null;
+ this.calculate = null;
+ this.desc = null;
+ this.extras = null;
+ this.keep = null;
+ this.margin = null;
+ this.occur = null;
+ this.overflow = null;
+ this.pageSet = null;
+ this.para = null;
+ this.traversal = null;
+ this.validate = null;
+ this.variables = null;
+ this.area = new r.XFAObjectArray();
+ this.breakAfter = new r.XFAObjectArray();
+ this.breakBefore = new r.XFAObjectArray();
+ this.connect = new r.XFAObjectArray();
+ this.draw = new r.XFAObjectArray();
+ this.event = new r.XFAObjectArray();
+ this.exObject = new r.XFAObjectArray();
+ this.exclGroup = new r.XFAObjectArray();
+ this.field = new r.XFAObjectArray();
+ this.proto = new r.XFAObjectArray();
+ this.setProperty = new r.XFAObjectArray();
+ this.subform = new r.XFAObjectArray();
+ this.subformSet = new r.XFAObjectArray();
+ }
+ [r.$getSubformParent]() {
+ const e = this[r.$getParent]();
+ return e instanceof SubformSet ? e[r.$getSubformParent]() : e;
+ }
+ [r.$isBindable]() {
+ return !0;
+ }
+ [r.$isThereMoreWidth]() {
+ return (
+ (this.layout.endsWith('-tb') && 0 === this[r.$extra].attempt && this[r.$extra].numberInLine > 0) ||
+ this[r.$getParent]()[r.$isThereMoreWidth]()
+ );
+ }
+ *[r.$getContainedChildren]() {
+ yield* getContainedChildren(this);
+ }
+ [r.$flushHTML]() {
+ return (0, i.flushHTML)(this);
+ }
+ [r.$addHTML](e, t) {
+ (0, i.addHTML)(this, e, t);
+ }
+ [r.$getAvailableSpace]() {
+ return (0, i.getAvailableSpace)(this);
+ }
+ [r.$isSplittable]() {
+ const e = this[r.$getSubformParent]();
+ if (!e[r.$isSplittable]()) return !1;
+ if (void 0 !== this[r.$extra]._isSplittable) return this[r.$extra]._isSplittable;
+ if ('position' === this.layout || this.layout.includes('row')) {
+ this[r.$extra]._isSplittable = !1;
+ return !1;
+ }
+ if (this.keep && 'none' !== this.keep.intact) {
+ this[r.$extra]._isSplittable = !1;
+ return !1;
+ }
+ if (e.layout && e.layout.endsWith('-tb') && 0 !== e[r.$extra].numberInLine) return !1;
+ this[r.$extra]._isSplittable = !0;
+ return !0;
+ }
+ [r.$toHTML](e) {
+ setTabIndex(this);
+ if (this.break) {
+ if ('auto' !== this.break.after || '' !== this.break.afterTarget) {
+ const e = new BreakAfter({
+ targetType: this.break.after,
+ target: this.break.afterTarget,
+ startNew: this.break.startNew.toString(),
+ });
+ e[r.$globalData] = this[r.$globalData];
+ this[r.$appendChild](e);
+ this.breakAfter.push(e);
+ }
+ if ('auto' !== this.break.before || '' !== this.break.beforeTarget) {
+ const e = new BreakBefore({
+ targetType: this.break.before,
+ target: this.break.beforeTarget,
+ startNew: this.break.startNew.toString(),
+ });
+ e[r.$globalData] = this[r.$globalData];
+ this[r.$appendChild](e);
+ this.breakBefore.push(e);
+ }
+ if ('' !== this.break.overflowTarget) {
+ const e = new Overflow({
+ target: this.break.overflowTarget,
+ leader: this.break.overflowLeader,
+ trailer: this.break.overflowTrailer,
+ });
+ e[r.$globalData] = this[r.$globalData];
+ this[r.$appendChild](e);
+ this.overflow.push(e);
+ }
+ this[r.$removeChild](this.break);
+ this.break = null;
+ }
+ if ('hidden' === this.presence || 'inactive' === this.presence) return o.HTMLResult.EMPTY;
+ (this.breakBefore.children.length > 1 || this.breakAfter.children.length > 1) &&
+ (0, c.warn)('XFA - Several breakBefore or breakAfter in subforms: please file a bug.');
+ if (this.breakBefore.children.length >= 1) {
+ const e = this.breakBefore.children[0];
+ if (handleBreak(e)) return o.HTMLResult.breakNode(e);
+ }
+ if (this[r.$extra] && this[r.$extra].afterBreakAfter) return o.HTMLResult.EMPTY;
+ (0, s.fixDimensions)(this);
+ const t = [],
+ a = {id: this[r.$uid], class: []};
+ (0, s.setAccess)(this, a.class);
+ this[r.$extra] || (this[r.$extra] = Object.create(null));
+ Object.assign(this[r.$extra], {
+ children: t,
+ line: null,
+ attributes: a,
+ attempt: 0,
+ numberInLine: 0,
+ availableSpace: {
+ width: Math.min(this.w || 1 / 0, e.width),
+ height: Math.min(this.h || 1 / 0, e.height),
+ },
+ width: 0,
+ height: 0,
+ prevHeight: 0,
+ currentWidth: 0,
+ });
+ const n = this[r.$getTemplateRoot](),
+ l = n[r.$extra].noLayoutFailure,
+ h = this[r.$isSplittable]();
+ h || setFirstUnsplittable(this);
+ if (!(0, i.checkDimensions)(this, e)) return o.HTMLResult.FAILURE;
+ const u = new Set(['area', 'draw', 'exclGroup', 'field', 'subform', 'subformSet']);
+ if (this.layout.includes('row')) {
+ const e = this[r.$getSubformParent]().columnWidths;
+ if (Array.isArray(e) && e.length > 0) {
+ this[r.$extra].columnWidths = e;
+ this[r.$extra].currentColumn = 0;
+ }
+ }
+ const d = (0, s.toStyle)(
+ this,
+ 'anchorType',
+ 'dimensions',
+ 'position',
+ 'presence',
+ 'border',
+ 'margin',
+ 'hAlign'
+ ),
+ f = ['xfaSubform'],
+ g = (0, s.layoutClass)(this);
+ g && f.push(g);
+ a.style = d;
+ a.class = f;
+ this.name && (a.xfaName = this.name);
+ if (this.overflow) {
+ const t = this.overflow[r.$getExtra]();
+ if (t.addLeader) {
+ t.addLeader = !1;
+ handleOverflow(this, t.leader, e);
+ }
+ }
+ this[r.$pushPara]();
+ const p = 'lr-tb' === this.layout || 'rl-tb' === this.layout,
+ m = p ? 2 : 1;
+ for (; this[r.$extra].attempt < m; this[r.$extra].attempt++) {
+ p && 1 === this[r.$extra].attempt && (this[r.$extra].numberInLine = 0);
+ const e = this[r.$childrenToHTML]({filter: u, include: !0});
+ if (e.success) break;
+ if (e.isBreak()) {
+ this[r.$popPara]();
+ return e;
+ }
+ if (
+ p &&
+ 0 === this[r.$extra].attempt &&
+ 0 === this[r.$extra].numberInLine &&
+ !n[r.$extra].noLayoutFailure
+ ) {
+ this[r.$extra].attempt = m;
+ break;
+ }
+ }
+ this[r.$popPara]();
+ h || unsetFirstUnsplittable(this);
+ n[r.$extra].noLayoutFailure = l;
+ if (this[r.$extra].attempt === m) {
+ this.overflow && (this[r.$getTemplateRoot]()[r.$extra].overflowNode = this.overflow);
+ h || delete this[r.$extra];
+ return o.HTMLResult.FAILURE;
+ }
+ if (this.overflow) {
+ const t = this.overflow[r.$getExtra]();
+ if (t.addTrailer) {
+ t.addTrailer = !1;
+ handleOverflow(this, t.trailer, e);
+ }
+ }
+ let b = 0,
+ y = 0;
+ if (this.margin) {
+ b = this.margin.leftInset + this.margin.rightInset;
+ y = this.margin.topInset + this.margin.bottomInset;
+ }
+ const w = Math.max(this[r.$extra].width + b, this.w || 0),
+ S = Math.max(this[r.$extra].height + y, this.h || 0),
+ x = [this.x, this.y, w, S];
+ '' === this.w && (d.width = (0, s.measureToString)(w));
+ '' === this.h && (d.height = (0, s.measureToString)(S));
+ if (('0px' === d.width || '0px' === d.height) && 0 === t.length) return o.HTMLResult.EMPTY;
+ const k = {name: 'div', attributes: a, children: t};
+ applyAssist(this, a);
+ const C = o.HTMLResult.success((0, s.createWrapper)(this, k), x);
+ if (this.breakAfter.children.length >= 1) {
+ const e = this.breakAfter.children[0];
+ if (handleBreak(e)) {
+ this[r.$extra].afterBreakAfter = C;
+ return o.HTMLResult.breakNode(e);
+ }
+ }
+ delete this[r.$extra];
+ return C;
+ }
+ }
+ class SubformSet extends r.XFAObject {
+ constructor(e) {
+ super(d, 'subformSet', !0);
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.relation = (0, o.getStringOption)(e.relation, ['ordered', 'choice', 'unordered']);
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.bookend = null;
+ this.break = null;
+ this.desc = null;
+ this.extras = null;
+ this.occur = null;
+ this.overflow = null;
+ this.breakAfter = new r.XFAObjectArray();
+ this.breakBefore = new r.XFAObjectArray();
+ this.subform = new r.XFAObjectArray();
+ this.subformSet = new r.XFAObjectArray();
+ }
+ *[r.$getContainedChildren]() {
+ yield* getContainedChildren(this);
+ }
+ [r.$getSubformParent]() {
+ let e = this[r.$getParent]();
+ for (; !(e instanceof Subform); ) e = e[r.$getParent]();
+ return e;
+ }
+ [r.$isBindable]() {
+ return !0;
+ }
+ }
+ class SubjectDN extends r.ContentObject {
+ constructor(e) {
+ super(d, 'subjectDN');
+ this.delimiter = e.delimiter || ',';
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$finalize]() {
+ this[r.$content] = new Map(
+ this[r.$content].split(this.delimiter).map((e) => {
+ (e = e.split('=', 2))[0] = e[0].trim();
+ return e;
+ })
+ );
+ }
+ }
+ class SubjectDNs extends r.XFAObject {
+ constructor(e) {
+ super(d, 'subjectDNs', !0);
+ this.id = e.id || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.subjectDN = new r.XFAObjectArray();
+ }
+ }
+ class Submit extends r.XFAObject {
+ constructor(e) {
+ super(d, 'submit', !0);
+ this.embedPDF = (0, o.getInteger)({data: e.embedPDF, defaultValue: 0, validate: (e) => 1 === e});
+ this.format = (0, o.getStringOption)(e.format, ['xdp', 'formdata', 'pdf', 'urlencoded', 'xfd', 'xml']);
+ this.id = e.id || '';
+ this.target = e.target || '';
+ this.textEncoding = (0, o.getKeyword)({
+ data: e.textEncoding ? e.textEncoding.toLowerCase() : '',
+ defaultValue: '',
+ validate: (e) =>
+ [
+ 'utf-8',
+ 'big-five',
+ 'fontspecific',
+ 'gbk',
+ 'gb-18030',
+ 'gb-2312',
+ 'ksc-5601',
+ 'none',
+ 'shift-jis',
+ 'ucs-2',
+ 'utf-16',
+ ].includes(e) || e.match(/iso-8859-\d{2}/),
+ });
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.xdpContent = e.xdpContent || '';
+ this.encrypt = null;
+ this.encryptData = new r.XFAObjectArray();
+ this.signData = new r.XFAObjectArray();
+ }
+ }
+ class Template extends r.XFAObject {
+ constructor(e) {
+ super(d, 'template', !0);
+ this.baseProfile = (0, o.getStringOption)(e.baseProfile, ['full', 'interactiveForms']);
+ this.extras = null;
+ this.subform = new r.XFAObjectArray();
+ }
+ [r.$finalize]() {
+ 0 === this.subform.children.length && (0, c.warn)('XFA - No subforms in template node.');
+ this.subform.children.length >= 2 &&
+ (0, c.warn)('XFA - Several subforms in template node: please file a bug.');
+ this[r.$tabIndex] = 5e3;
+ }
+ [r.$isSplittable]() {
+ return !0;
+ }
+ [r.$searchNode](e, t) {
+ return e.startsWith('#') ? [this[r.$ids].get(e.slice(1))] : (0, u.searchNode)(this, t, e, !0, !0);
+ }
+ *[r.$toPages]() {
+ if (!this.subform.children.length) return o.HTMLResult.success({name: 'div', children: []});
+ this[r.$extra] = {
+ overflowNode: null,
+ firstUnsplittable: null,
+ currentContentArea: null,
+ currentPageArea: null,
+ noLayoutFailure: !1,
+ pageNumber: 1,
+ pagePosition: 'first',
+ oddOrEven: 'odd',
+ blankOrNotBlank: 'nonBlank',
+ paraStack: [],
+ };
+ const e = this.subform.children[0];
+ e.pageSet[r.$cleanPage]();
+ const t = e.pageSet.pageArea.children,
+ a = {name: 'div', children: []};
+ let n = null,
+ i = null,
+ s = null;
+ if (e.breakBefore.children.length >= 1) {
+ i = e.breakBefore.children[0];
+ s = i.target;
+ } else if (e.subform.children.length >= 1 && e.subform.children[0].breakBefore.children.length >= 1) {
+ i = e.subform.children[0].breakBefore.children[0];
+ s = i.target;
+ } else if (e.break && e.break.beforeTarget) {
+ i = e.break;
+ s = i.beforeTarget;
+ } else if (
+ e.subform.children.length >= 1 &&
+ e.subform.children[0].break &&
+ e.subform.children[0].break.beforeTarget
+ ) {
+ i = e.subform.children[0].break;
+ s = i.beforeTarget;
+ }
+ if (i) {
+ const e = this[r.$searchNode](s, i[r.$getParent]());
+ if (e instanceof PageArea) {
+ n = e;
+ i[r.$extra] = {};
+ }
+ }
+ n || (n = t[0]);
+ n[r.$extra] = {numberOfUse: 1};
+ const l = n[r.$getParent]();
+ l[r.$extra] = {numberOfUse: 1, pageIndex: l.pageArea.children.indexOf(n), pageSetIndex: 0};
+ let h,
+ u = null,
+ d = null,
+ f = !0,
+ g = 0,
+ p = 0;
+ for (;;) {
+ if (f) g = 0;
+ else {
+ a.children.pop();
+ if (3 == ++g) {
+ (0, c.warn)('XFA - Something goes wrong: please file a bug.');
+ return a;
+ }
+ }
+ h = null;
+ this[r.$extra].currentPageArea = n;
+ const t = n[r.$toHTML]().html;
+ a.children.push(t);
+ if (u) {
+ this[r.$extra].noLayoutFailure = !0;
+ t.children.push(u[r.$toHTML](n[r.$extra].space).html);
+ u = null;
+ }
+ if (d) {
+ this[r.$extra].noLayoutFailure = !0;
+ t.children.push(d[r.$toHTML](n[r.$extra].space).html);
+ d = null;
+ }
+ const i = n.contentArea.children,
+ s = t.children.filter((e) => e.attributes.class.includes('xfaContentarea'));
+ f = !1;
+ this[r.$extra].firstUnsplittable = null;
+ this[r.$extra].noLayoutFailure = !1;
+ const flush = (t) => {
+ const a = e[r.$flushHTML]();
+ if (a) {
+ f = f || (a.children && 0 !== a.children.length);
+ s[t].children.push(a);
+ }
+ };
+ for (let t = p, n = i.length; t < n; t++) {
+ const n = (this[r.$extra].currentContentArea = i[t]),
+ o = {width: n.w, height: n.h};
+ p = 0;
+ if (u) {
+ s[t].children.push(u[r.$toHTML](o).html);
+ u = null;
+ }
+ if (d) {
+ s[t].children.push(d[r.$toHTML](o).html);
+ d = null;
+ }
+ const c = e[r.$toHTML](o);
+ if (c.success) {
+ if (c.html) {
+ f = f || (c.html.children && 0 !== c.html.children.length);
+ s[t].children.push(c.html);
+ } else !f && a.children.length > 1 && a.children.pop();
+ return a;
+ }
+ if (c.isBreak()) {
+ const e = c.breakNode;
+ flush(t);
+ if ('auto' === e.targetType) continue;
+ if (e.leader) {
+ u = this[r.$searchNode](e.leader, e[r.$getParent]());
+ u = u ? u[0] : null;
+ }
+ if (e.trailer) {
+ d = this[r.$searchNode](e.trailer, e[r.$getParent]());
+ d = d ? d[0] : null;
+ }
+ if ('pageArea' === e.targetType) {
+ h = e[r.$extra].target;
+ t = 1 / 0;
+ } else if (e[r.$extra].target) {
+ h = e[r.$extra].target;
+ p = e[r.$extra].index + 1;
+ t = 1 / 0;
+ } else t = e[r.$extra].index;
+ } else if (this[r.$extra].overflowNode) {
+ const e = this[r.$extra].overflowNode;
+ this[r.$extra].overflowNode = null;
+ const a = e[r.$getExtra](),
+ n = a.target;
+ a.addLeader = null !== a.leader;
+ a.addTrailer = null !== a.trailer;
+ flush(t);
+ const s = t;
+ t = 1 / 0;
+ if (n instanceof PageArea) h = n;
+ else if (n instanceof ContentArea) {
+ const e = i.indexOf(n);
+ if (-1 !== e) e > s ? (t = e - 1) : (p = e);
+ else {
+ h = n[r.$getParent]();
+ p = h.contentArea.children.indexOf(n);
+ }
+ }
+ } else flush(t);
+ }
+ this[r.$extra].pageNumber += 1;
+ h && (h[r.$isUsable]() ? (h[r.$extra].numberOfUse += 1) : (h = null));
+ n = h || n[r.$getNextPage]();
+ yield null;
+ }
+ }
+ }
+ t.Template = Template;
+ class Text extends r.ContentObject {
+ constructor(e) {
+ super(d, 'text');
+ this.id = e.id || '';
+ this.maxChars = (0, o.getInteger)({data: e.maxChars, defaultValue: 0, validate: (e) => e >= 0});
+ this.name = e.name || '';
+ this.rid = e.rid || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$acceptWhitespace]() {
+ return !0;
+ }
+ [r.$onChild](e) {
+ if (e[r.$namespaceId] === n.NamespaceIds.xhtml.id) {
+ this[r.$content] = e;
+ return !0;
+ }
+ (0, c.warn)(`XFA - Invalid content in Text: ${e[r.$nodeName]}.`);
+ return !1;
+ }
+ [r.$onText](e) {
+ this[r.$content] instanceof r.XFAObject || super[r.$onText](e);
+ }
+ [r.$finalize]() {
+ 'string' == typeof this[r.$content] && (this[r.$content] = this[r.$content].replace(/\r\n/g, '\n'));
+ }
+ [r.$getExtra]() {
+ return 'string' == typeof this[r.$content]
+ ? this[r.$content]
+ .split(/[\u2029\u2028\n]/)
+ .reduce((e, t) => {
+ t && e.push(t);
+ return e;
+ }, [])
+ .join('\n')
+ : this[r.$content][r.$text]();
+ }
+ [r.$toHTML](e) {
+ if ('string' == typeof this[r.$content]) {
+ const e = valueToHtml(this[r.$content]).html;
+ if (this[r.$content].includes('\u2029')) {
+ e.name = 'div';
+ e.children = [];
+ this[r.$content]
+ .split('\u2029')
+ .map((e) =>
+ e.split(/[\u2028\n]/).reduce((e, t) => {
+ e.push({name: 'span', value: t}, {name: 'br'});
+ return e;
+ }, [])
+ )
+ .forEach((t) => {
+ e.children.push({name: 'p', children: t});
+ });
+ } else if (/[\u2028\n]/.test(this[r.$content])) {
+ e.name = 'div';
+ e.children = [];
+ this[r.$content].split(/[\u2028\n]/).forEach((t) => {
+ e.children.push({name: 'span', value: t}, {name: 'br'});
+ });
+ }
+ return o.HTMLResult.success(e);
+ }
+ return this[r.$content][r.$toHTML](e);
+ }
+ }
+ t.Text = Text;
+ class TextEdit extends r.XFAObject {
+ constructor(e) {
+ super(d, 'textEdit', !0);
+ this.allowRichText = (0, o.getInteger)({
+ data: e.allowRichText,
+ defaultValue: 0,
+ validate: (e) => 1 === e,
+ });
+ this.hScrollPolicy = (0, o.getStringOption)(e.hScrollPolicy, ['auto', 'off', 'on']);
+ this.id = e.id || '';
+ this.multiLine = (0, o.getInteger)({
+ data: e.multiLine,
+ defaultValue: '',
+ validate: (e) => 0 === e || 1 === e,
+ });
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.vScrollPolicy = (0, o.getStringOption)(e.vScrollPolicy, ['auto', 'off', 'on']);
+ this.border = null;
+ this.comb = null;
+ this.extras = null;
+ this.margin = null;
+ }
+ [r.$toHTML](e) {
+ const t = (0, s.toStyle)(this, 'border', 'font', 'margin');
+ let a;
+ const n = this[r.$getParent]()[r.$getParent]();
+ '' === this.multiLine && (this.multiLine = n instanceof Draw ? 1 : 0);
+ a =
+ 1 === this.multiLine
+ ? {
+ name: 'textarea',
+ attributes: {
+ dataId: (n[r.$data] && n[r.$data][r.$uid]) || n[r.$uid],
+ fieldId: n[r.$uid],
+ class: ['xfaTextfield'],
+ style: t,
+ 'aria-label': ariaLabel(n),
+ 'aria-required': !1,
+ },
+ }
+ : {
+ name: 'input',
+ attributes: {
+ type: 'text',
+ dataId: (n[r.$data] && n[r.$data][r.$uid]) || n[r.$uid],
+ fieldId: n[r.$uid],
+ class: ['xfaTextfield'],
+ style: t,
+ 'aria-label': ariaLabel(n),
+ 'aria-required': !1,
+ },
+ };
+ if (isRequired(n)) {
+ a.attributes['aria-required'] = !0;
+ a.attributes.required = !0;
+ }
+ return o.HTMLResult.success({name: 'label', attributes: {class: ['xfaLabel']}, children: [a]});
+ }
+ }
+ class Time extends r.StringObject {
+ constructor(e) {
+ super(d, 'time');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ [r.$finalize]() {
+ const e = this[r.$content].trim();
+ this[r.$content] = e ? new Date(e) : null;
+ }
+ [r.$toHTML](e) {
+ return valueToHtml(this[r.$content] ? this[r.$content].toString() : '');
+ }
+ }
+ class TimeStamp extends r.XFAObject {
+ constructor(e) {
+ super(d, 'timeStamp');
+ this.id = e.id || '';
+ this.server = e.server || '';
+ this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class ToolTip extends r.StringObject {
+ constructor(e) {
+ super(d, 'toolTip');
+ this.id = e.id || '';
+ this.rid = e.rid || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Traversal extends r.XFAObject {
+ constructor(e) {
+ super(d, 'traversal', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.traverse = new r.XFAObjectArray();
+ }
+ }
+ class Traverse extends r.XFAObject {
+ constructor(e) {
+ super(d, 'traverse', !0);
+ this.id = e.id || '';
+ this.operation = (0, o.getStringOption)(e.operation, [
+ 'next',
+ 'back',
+ 'down',
+ 'first',
+ 'left',
+ 'right',
+ 'up',
+ ]);
+ this.ref = e.ref || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.script = null;
+ }
+ get name() {
+ return this.operation;
+ }
+ [r.$isTransparent]() {
+ return !1;
+ }
+ }
+ class Ui extends r.XFAObject {
+ constructor(e) {
+ super(d, 'ui', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.picture = null;
+ this.barcode = null;
+ this.button = null;
+ this.checkButton = null;
+ this.choiceList = null;
+ this.dateTimeEdit = null;
+ this.defaultUi = null;
+ this.imageEdit = null;
+ this.numericEdit = null;
+ this.passwordEdit = null;
+ this.signature = null;
+ this.textEdit = null;
+ }
+ [r.$getExtra]() {
+ if (void 0 === this[r.$extra]) {
+ for (const e of Object.getOwnPropertyNames(this)) {
+ if ('extras' === e || 'picture' === e) continue;
+ const t = this[e];
+ if (t instanceof r.XFAObject) {
+ this[r.$extra] = t;
+ return t;
+ }
+ }
+ this[r.$extra] = null;
+ }
+ return this[r.$extra];
+ }
+ [r.$toHTML](e) {
+ const t = this[r.$getExtra]();
+ return t ? t[r.$toHTML](e) : o.HTMLResult.EMPTY;
+ }
+ }
+ class Validate extends r.XFAObject {
+ constructor(e) {
+ super(d, 'validate', !0);
+ this.formatTest = (0, o.getStringOption)(e.formatTest, ['warning', 'disabled', 'error']);
+ this.id = e.id || '';
+ this.nullTest = (0, o.getStringOption)(e.nullTest, ['disabled', 'error', 'warning']);
+ this.scriptTest = (0, o.getStringOption)(e.scriptTest, ['error', 'disabled', 'warning']);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.extras = null;
+ this.message = null;
+ this.picture = null;
+ this.script = null;
+ }
+ }
+ class Value extends r.XFAObject {
+ constructor(e) {
+ super(d, 'value', !0);
+ this.id = e.id || '';
+ this.override = (0, o.getInteger)({data: e.override, defaultValue: 0, validate: (e) => 1 === e});
+ this.relevant = (0, o.getRelevant)(e.relevant);
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.arc = null;
+ this.boolean = null;
+ this.date = null;
+ this.dateTime = null;
+ this.decimal = null;
+ this.exData = null;
+ this.float = null;
+ this.image = null;
+ this.integer = null;
+ this.line = null;
+ this.rectangle = null;
+ this.text = null;
+ this.time = null;
+ }
+ [r.$setValue](e) {
+ const t = this[r.$getParent]();
+ if (t instanceof Field && t.ui && t.ui.imageEdit) {
+ if (!this.image) {
+ this.image = new Image({});
+ this[r.$appendChild](this.image);
+ }
+ this.image[r.$content] = e[r.$content];
+ return;
+ }
+ const a = e[r.$nodeName];
+ if (null === this[a]) {
+ for (const e of Object.getOwnPropertyNames(this)) {
+ const t = this[e];
+ if (t instanceof r.XFAObject) {
+ this[e] = null;
+ this[r.$removeChild](t);
+ }
+ }
+ this[e[r.$nodeName]] = e;
+ this[r.$appendChild](e);
+ } else this[a][r.$content] = e[r.$content];
+ }
+ [r.$text]() {
+ if (this.exData)
+ return 'string' == typeof this.exData[r.$content]
+ ? this.exData[r.$content].trim()
+ : this.exData[r.$content][r.$text]().trim();
+ for (const e of Object.getOwnPropertyNames(this)) {
+ if ('image' === e) continue;
+ const t = this[e];
+ if (t instanceof r.XFAObject) return (t[r.$content] || '').toString().trim();
+ }
+ return null;
+ }
+ [r.$toHTML](e) {
+ for (const t of Object.getOwnPropertyNames(this)) {
+ const a = this[t];
+ if (a instanceof r.XFAObject) return a[r.$toHTML](e);
+ }
+ return o.HTMLResult.EMPTY;
+ }
+ }
+ t.Value = Value;
+ class Variables extends r.XFAObject {
+ constructor(e) {
+ super(d, 'variables', !0);
+ this.id = e.id || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ this.boolean = new r.XFAObjectArray();
+ this.date = new r.XFAObjectArray();
+ this.dateTime = new r.XFAObjectArray();
+ this.decimal = new r.XFAObjectArray();
+ this.exData = new r.XFAObjectArray();
+ this.float = new r.XFAObjectArray();
+ this.image = new r.XFAObjectArray();
+ this.integer = new r.XFAObjectArray();
+ this.manifest = new r.XFAObjectArray();
+ this.script = new r.XFAObjectArray();
+ this.text = new r.XFAObjectArray();
+ this.time = new r.XFAObjectArray();
+ }
+ [r.$isTransparent]() {
+ return !0;
+ }
+ }
+ class TemplateNamespace {
+ static [n.$buildXFAObject](e, t) {
+ if (TemplateNamespace.hasOwnProperty(e)) {
+ const a = TemplateNamespace[e](t);
+ a[r.$setSetAttributes](t);
+ return a;
+ }
+ }
+ static appearanceFilter(e) {
+ return new AppearanceFilter(e);
+ }
+ static arc(e) {
+ return new Arc(e);
+ }
+ static area(e) {
+ return new Area(e);
+ }
+ static assist(e) {
+ return new Assist(e);
+ }
+ static barcode(e) {
+ return new Barcode(e);
+ }
+ static bind(e) {
+ return new Bind(e);
+ }
+ static bindItems(e) {
+ return new BindItems(e);
+ }
+ static bookend(e) {
+ return new Bookend(e);
+ }
+ static boolean(e) {
+ return new BooleanElement(e);
+ }
+ static border(e) {
+ return new Border(e);
+ }
+ static break(e) {
+ return new Break(e);
+ }
+ static breakAfter(e) {
+ return new BreakAfter(e);
+ }
+ static breakBefore(e) {
+ return new BreakBefore(e);
+ }
+ static button(e) {
+ return new Button(e);
+ }
+ static calculate(e) {
+ return new Calculate(e);
+ }
+ static caption(e) {
+ return new Caption(e);
+ }
+ static certificate(e) {
+ return new Certificate(e);
+ }
+ static certificates(e) {
+ return new Certificates(e);
+ }
+ static checkButton(e) {
+ return new CheckButton(e);
+ }
+ static choiceList(e) {
+ return new ChoiceList(e);
+ }
+ static color(e) {
+ return new Color(e);
+ }
+ static comb(e) {
+ return new Comb(e);
+ }
+ static connect(e) {
+ return new Connect(e);
+ }
+ static contentArea(e) {
+ return new ContentArea(e);
+ }
+ static corner(e) {
+ return new Corner(e);
+ }
+ static date(e) {
+ return new DateElement(e);
+ }
+ static dateTime(e) {
+ return new DateTime(e);
+ }
+ static dateTimeEdit(e) {
+ return new DateTimeEdit(e);
+ }
+ static decimal(e) {
+ return new Decimal(e);
+ }
+ static defaultUi(e) {
+ return new DefaultUi(e);
+ }
+ static desc(e) {
+ return new Desc(e);
+ }
+ static digestMethod(e) {
+ return new DigestMethod(e);
+ }
+ static digestMethods(e) {
+ return new DigestMethods(e);
+ }
+ static draw(e) {
+ return new Draw(e);
+ }
+ static edge(e) {
+ return new Edge(e);
+ }
+ static encoding(e) {
+ return new Encoding(e);
+ }
+ static encodings(e) {
+ return new Encodings(e);
+ }
+ static encrypt(e) {
+ return new Encrypt(e);
+ }
+ static encryptData(e) {
+ return new EncryptData(e);
+ }
+ static encryption(e) {
+ return new Encryption(e);
+ }
+ static encryptionMethod(e) {
+ return new EncryptionMethod(e);
+ }
+ static encryptionMethods(e) {
+ return new EncryptionMethods(e);
+ }
+ static event(e) {
+ return new Event(e);
+ }
+ static exData(e) {
+ return new ExData(e);
+ }
+ static exObject(e) {
+ return new ExObject(e);
+ }
+ static exclGroup(e) {
+ return new ExclGroup(e);
+ }
+ static execute(e) {
+ return new Execute(e);
+ }
+ static extras(e) {
+ return new Extras(e);
+ }
+ static field(e) {
+ return new Field(e);
+ }
+ static fill(e) {
+ return new Fill(e);
+ }
+ static filter(e) {
+ return new Filter(e);
+ }
+ static float(e) {
+ return new Float(e);
+ }
+ static font(e) {
+ return new Font(e);
+ }
+ static format(e) {
+ return new Format(e);
+ }
+ static handler(e) {
+ return new Handler(e);
+ }
+ static hyphenation(e) {
+ return new Hyphenation(e);
+ }
+ static image(e) {
+ return new Image(e);
+ }
+ static imageEdit(e) {
+ return new ImageEdit(e);
+ }
+ static integer(e) {
+ return new Integer(e);
+ }
+ static issuers(e) {
+ return new Issuers(e);
+ }
+ static items(e) {
+ return new Items(e);
+ }
+ static keep(e) {
+ return new Keep(e);
+ }
+ static keyUsage(e) {
+ return new KeyUsage(e);
+ }
+ static line(e) {
+ return new Line(e);
+ }
+ static linear(e) {
+ return new Linear(e);
+ }
+ static lockDocument(e) {
+ return new LockDocument(e);
+ }
+ static manifest(e) {
+ return new Manifest(e);
+ }
+ static margin(e) {
+ return new Margin(e);
+ }
+ static mdp(e) {
+ return new Mdp(e);
+ }
+ static medium(e) {
+ return new Medium(e);
+ }
+ static message(e) {
+ return new Message(e);
+ }
+ static numericEdit(e) {
+ return new NumericEdit(e);
+ }
+ static occur(e) {
+ return new Occur(e);
+ }
+ static oid(e) {
+ return new Oid(e);
+ }
+ static oids(e) {
+ return new Oids(e);
+ }
+ static overflow(e) {
+ return new Overflow(e);
+ }
+ static pageArea(e) {
+ return new PageArea(e);
+ }
+ static pageSet(e) {
+ return new PageSet(e);
+ }
+ static para(e) {
+ return new Para(e);
+ }
+ static passwordEdit(e) {
+ return new PasswordEdit(e);
+ }
+ static pattern(e) {
+ return new Pattern(e);
+ }
+ static picture(e) {
+ return new Picture(e);
+ }
+ static proto(e) {
+ return new Proto(e);
+ }
+ static radial(e) {
+ return new Radial(e);
+ }
+ static reason(e) {
+ return new Reason(e);
+ }
+ static reasons(e) {
+ return new Reasons(e);
+ }
+ static rectangle(e) {
+ return new Rectangle(e);
+ }
+ static ref(e) {
+ return new RefElement(e);
+ }
+ static script(e) {
+ return new Script(e);
+ }
+ static setProperty(e) {
+ return new SetProperty(e);
+ }
+ static signData(e) {
+ return new SignData(e);
+ }
+ static signature(e) {
+ return new Signature(e);
+ }
+ static signing(e) {
+ return new Signing(e);
+ }
+ static solid(e) {
+ return new Solid(e);
+ }
+ static speak(e) {
+ return new Speak(e);
+ }
+ static stipple(e) {
+ return new Stipple(e);
+ }
+ static subform(e) {
+ return new Subform(e);
+ }
+ static subformSet(e) {
+ return new SubformSet(e);
+ }
+ static subjectDN(e) {
+ return new SubjectDN(e);
+ }
+ static subjectDNs(e) {
+ return new SubjectDNs(e);
+ }
+ static submit(e) {
+ return new Submit(e);
+ }
+ static template(e) {
+ return new Template(e);
+ }
+ static text(e) {
+ return new Text(e);
+ }
+ static textEdit(e) {
+ return new TextEdit(e);
+ }
+ static time(e) {
+ return new Time(e);
+ }
+ static timeStamp(e) {
+ return new TimeStamp(e);
+ }
+ static toolTip(e) {
+ return new ToolTip(e);
+ }
+ static traversal(e) {
+ return new Traversal(e);
+ }
+ static traverse(e) {
+ return new Traverse(e);
+ }
+ static ui(e) {
+ return new Ui(e);
+ }
+ static validate(e) {
+ return new Validate(e);
+ }
+ static value(e) {
+ return new Value(e);
+ }
+ static variables(e) {
+ return new Variables(e);
+ }
+ }
+ t.TemplateNamespace = TemplateNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.addHTML = function addHTML(e, t, a) {
+ const i = e[r.$extra],
+ s = i.availableSpace,
+ [o, c, l, h] = a;
+ switch (e.layout) {
+ case 'position':
+ i.width = Math.max(i.width, o + l);
+ i.height = Math.max(i.height, c + h);
+ i.children.push(t);
+ break;
+ case 'lr-tb':
+ case 'rl-tb':
+ if (!i.line || 1 === i.attempt) {
+ i.line = createLine(e, []);
+ i.children.push(i.line);
+ i.numberInLine = 0;
+ }
+ i.numberInLine += 1;
+ i.line.children.push(t);
+ if (0 === i.attempt) {
+ i.currentWidth += l;
+ i.height = Math.max(i.height, i.prevHeight + h);
+ } else {
+ i.currentWidth = l;
+ i.prevHeight = i.height;
+ i.height += h;
+ i.attempt = 0;
+ }
+ i.width = Math.max(i.width, i.currentWidth);
+ break;
+ case 'rl-row':
+ case 'row': {
+ i.children.push(t);
+ i.width += l;
+ i.height = Math.max(i.height, h);
+ const e = (0, n.measureToString)(i.height);
+ for (const t of i.children) t.attributes.style.height = e;
+ break;
+ }
+ case 'table':
+ case 'tb':
+ i.width = Math.min(s.width, Math.max(i.width, l));
+ i.height += h;
+ i.children.push(t);
+ }
+ };
+ t.checkDimensions = function checkDimensions(e, t) {
+ if (null === e[r.$getTemplateRoot]()[r.$extra].firstUnsplittable) return !0;
+ if (0 === e.w || 0 === e.h) return !0;
+ const a = e[r.$getSubformParent](),
+ n = (a[r.$extra] && a[r.$extra].attempt) || 0,
+ [, i, s, o] = (function getTransformedBBox(e) {
+ let t,
+ a,
+ r = '' === e.w ? NaN : e.w,
+ n = '' === e.h ? NaN : e.h,
+ [i, s] = [0, 0];
+ switch (e.anchorType || '') {
+ case 'bottomCenter':
+ [i, s] = [r / 2, n];
+ break;
+ case 'bottomLeft':
+ [i, s] = [0, n];
+ break;
+ case 'bottomRight':
+ [i, s] = [r, n];
+ break;
+ case 'middleCenter':
+ [i, s] = [r / 2, n / 2];
+ break;
+ case 'middleLeft':
+ [i, s] = [0, n / 2];
+ break;
+ case 'middleRight':
+ [i, s] = [r, n / 2];
+ break;
+ case 'topCenter':
+ [i, s] = [r / 2, 0];
+ break;
+ case 'topRight':
+ [i, s] = [r, 0];
+ }
+ switch (e.rotate || 0) {
+ case 0:
+ [t, a] = [-i, -s];
+ break;
+ case 90:
+ [t, a] = [-s, i];
+ [r, n] = [n, -r];
+ break;
+ case 180:
+ [t, a] = [i, s];
+ [r, n] = [-r, -n];
+ break;
+ case 270:
+ [t, a] = [s, -i];
+ [r, n] = [-n, r];
+ }
+ return [e.x + t + Math.min(0, r), e.y + a + Math.min(0, n), Math.abs(r), Math.abs(n)];
+ })(e);
+ switch (a.layout) {
+ case 'lr-tb':
+ case 'rl-tb':
+ return 0 === n
+ ? e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure
+ ? '' !== e.w
+ ? Math.round(s - t.width) <= 2
+ : t.width > 2
+ : !('' !== e.h && Math.round(o - t.height) > 2) &&
+ ('' !== e.w
+ ? Math.round(s - t.width) <= 2 || (0 === a[r.$extra].numberInLine && t.height > 2)
+ : t.width > 2)
+ : !!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure ||
+ (!('' !== e.h && Math.round(o - t.height) > 2) &&
+ ('' === e.w || Math.round(s - t.width) <= 2 || !a[r.$isThereMoreWidth]()) &&
+ t.height > 2);
+ case 'table':
+ case 'tb':
+ return (
+ !!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure ||
+ ('' === e.h || e[r.$isSplittable]()
+ ? ('' === e.w || Math.round(s - t.width) <= 2 || !a[r.$isThereMoreWidth]()) && t.height > 2
+ : Math.round(o - t.height) <= 2)
+ );
+ case 'position':
+ if (e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure) return !0;
+ if ('' === e.h || Math.round(o + i - t.height) <= 2) return !0;
+ const c = e[r.$getTemplateRoot]()[r.$extra].currentContentArea;
+ return o + i > c.h;
+ case 'rl-row':
+ case 'row':
+ return (
+ !!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure || '' === e.h || Math.round(o - t.height) <= 2
+ );
+ default:
+ return !0;
+ }
+ };
+ t.flushHTML = function flushHTML(e) {
+ if (!e[r.$extra]) return null;
+ const t = {name: 'div', attributes: e[r.$extra].attributes, children: e[r.$extra].children};
+ if (e[r.$extra].failingNode) {
+ const a = e[r.$extra].failingNode[r.$flushHTML]();
+ a && (e.layout.endsWith('-tb') ? t.children.push(createLine(e, [a])) : t.children.push(a));
+ }
+ if (0 === t.children.length) return null;
+ return t;
+ };
+ t.getAvailableSpace = function getAvailableSpace(e) {
+ const t = e[r.$extra].availableSpace,
+ a = e.margin ? e.margin.topInset + e.margin.bottomInset : 0,
+ n = e.margin ? e.margin.leftInset + e.margin.rightInset : 0;
+ switch (e.layout) {
+ case 'lr-tb':
+ case 'rl-tb':
+ return 0 === e[r.$extra].attempt
+ ? {width: t.width - n - e[r.$extra].currentWidth, height: t.height - a - e[r.$extra].prevHeight}
+ : {width: t.width - n, height: t.height - a - e[r.$extra].height};
+ case 'rl-row':
+ case 'row':
+ return {
+ width: e[r.$extra].columnWidths.slice(e[r.$extra].currentColumn).reduce((e, t) => e + t),
+ height: t.height - n,
+ };
+ case 'table':
+ case 'tb':
+ return {width: t.width - n, height: t.height - a - e[r.$extra].height};
+ default:
+ return t;
+ }
+ };
+ var r = a(77),
+ n = a(84);
+ function createLine(e, t) {
+ return {name: 'div', attributes: {class: ['lr-tb' === e.layout ? 'xfaLr' : 'xfaRl']}, children: t};
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.computeBbox = function computeBbox(e, t, a) {
+ let n;
+ if ('' !== e.w && '' !== e.h) n = [e.x, e.y, e.w, e.h];
+ else {
+ if (!a) return null;
+ let i = e.w;
+ if ('' === i) {
+ if (0 === e.maxW) {
+ const t = e[r.$getSubformParent]();
+ i = 'position' === t.layout && '' !== t.w ? 0 : e.minW;
+ } else i = Math.min(e.maxW, a.width);
+ t.attributes.style.width = measureToString(i);
+ }
+ let s = e.h;
+ if ('' === s) {
+ if (0 === e.maxH) {
+ const t = e[r.$getSubformParent]();
+ s = 'position' === t.layout && '' !== t.h ? 0 : e.minH;
+ } else s = Math.min(e.maxH, a.height);
+ t.attributes.style.height = measureToString(s);
+ }
+ n = [e.x, e.y, i, s];
+ }
+ return n;
+ };
+ t.createWrapper = function createWrapper(e, t) {
+ const {attributes: a} = t,
+ {style: n} = a,
+ i = {name: 'div', attributes: {class: ['xfaWrapper'], style: Object.create(null)}, children: []};
+ a.class.push('xfaWrapped');
+ if (e.border) {
+ const {widths: a, insets: s} = e.border[r.$extra];
+ let o,
+ c,
+ l = s[0],
+ h = s[3];
+ const u = s[0] + s[2],
+ d = s[1] + s[3];
+ switch (e.border.hand) {
+ case 'even':
+ l -= a[0] / 2;
+ h -= a[3] / 2;
+ o = `calc(100% + ${(a[1] + a[3]) / 2 - d}px)`;
+ c = `calc(100% + ${(a[0] + a[2]) / 2 - u}px)`;
+ break;
+ case 'left':
+ l -= a[0];
+ h -= a[3];
+ o = `calc(100% + ${a[1] + a[3] - d}px)`;
+ c = `calc(100% + ${a[0] + a[2] - u}px)`;
+ break;
+ case 'right':
+ o = d ? `calc(100% - ${d}px)` : '100%';
+ c = u ? `calc(100% - ${u}px)` : '100%';
+ }
+ const f = ['xfaBorder'];
+ isPrintOnly(e.border) && f.push('xfaPrintOnly');
+ const g = {
+ name: 'div',
+ attributes: {class: f, style: {top: `${l}px`, left: `${h}px`, width: o, height: c}},
+ children: [],
+ };
+ for (const e of ['border', 'borderWidth', 'borderColor', 'borderRadius', 'borderStyle'])
+ if (void 0 !== n[e]) {
+ g.attributes.style[e] = n[e];
+ delete n[e];
+ }
+ i.children.push(g, t);
+ } else i.children.push(t);
+ for (const e of [
+ 'background',
+ 'backgroundClip',
+ 'top',
+ 'left',
+ 'width',
+ 'height',
+ 'minWidth',
+ 'minHeight',
+ 'maxWidth',
+ 'maxHeight',
+ 'transform',
+ 'transformOrigin',
+ 'visibility',
+ ])
+ if (void 0 !== n[e]) {
+ i.attributes.style[e] = n[e];
+ delete n[e];
+ }
+ 'absolute' === n.position
+ ? (i.attributes.style.position = 'absolute')
+ : (i.attributes.style.position = 'relative');
+ delete n.position;
+ if (n.alignSelf) {
+ i.attributes.style.alignSelf = n.alignSelf;
+ delete n.alignSelf;
+ }
+ return i;
+ };
+ t.fixDimensions = function fixDimensions(e) {
+ const t = e[r.$getSubformParent]();
+ if (t.layout && t.layout.includes('row')) {
+ const a = t[r.$extra],
+ n = e.colSpan;
+ let i;
+ i =
+ -1 === n
+ ? a.columnWidths.slice(a.currentColumn).reduce((e, t) => e + t, 0)
+ : a.columnWidths.slice(a.currentColumn, a.currentColumn + n).reduce((e, t) => e + t, 0);
+ isNaN(i) || (e.w = i);
+ }
+ t.layout && 'position' !== t.layout && (e.x = e.y = 0);
+ 'table' === e.layout &&
+ '' === e.w &&
+ Array.isArray(e.columnWidths) &&
+ (e.w = e.columnWidths.reduce((e, t) => e + t, 0));
+ };
+ t.fixTextIndent = function fixTextIndent(e) {
+ const t = (0, i.getMeasurement)(e.textIndent, '0px');
+ if (t >= 0) return;
+ const a = 'padding' + ('left' == ('right' === e.textAlign ? 'right' : 'left') ? 'Left' : 'Right'),
+ r = (0, i.getMeasurement)(e[a], '0px');
+ e[a] = r - t + 'px';
+ };
+ t.fixURL = function fixURL(e) {
+ const t = (0, n.createValidAbsoluteUrl)(e, null, {addDefaultProtocol: !0, tryConvertEncoding: !0});
+ return t ? t.href : null;
+ };
+ t.isPrintOnly = isPrintOnly;
+ t.layoutClass = function layoutClass(e) {
+ switch (e.layout) {
+ case 'position':
+ default:
+ return 'xfaPosition';
+ case 'lr-tb':
+ return 'xfaLrTb';
+ case 'rl-row':
+ return 'xfaRlRow';
+ case 'rl-tb':
+ return 'xfaRlTb';
+ case 'row':
+ return 'xfaRow';
+ case 'table':
+ return 'xfaTable';
+ case 'tb':
+ return 'xfaTb';
+ }
+ };
+ t.layoutNode = function layoutNode(e, t) {
+ let a = null,
+ n = null,
+ i = !1;
+ if ((!e.w || !e.h) && e.value) {
+ let s = 0,
+ o = 0;
+ if (e.margin) {
+ s = e.margin.leftInset + e.margin.rightInset;
+ o = e.margin.topInset + e.margin.bottomInset;
+ }
+ let c = null,
+ l = null;
+ if (e.para) {
+ l = Object.create(null);
+ c = '' === e.para.lineHeight ? null : e.para.lineHeight;
+ l.top = '' === e.para.spaceAbove ? 0 : e.para.spaceAbove;
+ l.bottom = '' === e.para.spaceBelow ? 0 : e.para.spaceBelow;
+ l.left = '' === e.para.marginLeft ? 0 : e.para.marginLeft;
+ l.right = '' === e.para.marginRight ? 0 : e.para.marginRight;
+ }
+ let h = e.font;
+ if (!h) {
+ const t = e[r.$getTemplateRoot]();
+ let a = e[r.$getParent]();
+ for (; a && a !== t; ) {
+ if (a.font) {
+ h = a.font;
+ break;
+ }
+ a = a[r.$getParent]();
+ }
+ }
+ const u = (e.w || t.width) - s,
+ d = e[r.$globalData].fontFinder;
+ if (e.value.exData && e.value.exData[r.$content] && 'text/html' === e.value.exData.contentType) {
+ const t = layoutText(e.value.exData[r.$content], h, l, c, d, u);
+ n = t.width;
+ a = t.height;
+ i = t.isBroken;
+ } else {
+ const t = e.value[r.$text]();
+ if (t) {
+ const e = layoutText(t, h, l, c, d, u);
+ n = e.width;
+ a = e.height;
+ i = e.isBroken;
+ }
+ }
+ null === n || e.w || (n += s);
+ null === a || e.h || (a += o);
+ }
+ return {w: n, h: a, isBroken: i};
+ };
+ t.measureToString = measureToString;
+ t.setAccess = function setAccess(e, t) {
+ switch (e.access) {
+ case 'nonInteractive':
+ t.push('xfaNonInteractive');
+ break;
+ case 'readOnly':
+ t.push('xfaReadOnly');
+ break;
+ case 'protected':
+ t.push('xfaDisabled');
+ }
+ };
+ t.setFontFamily = function setFontFamily(e, t, a, r) {
+ if (!a) {
+ delete r.fontFamily;
+ return;
+ }
+ const n = (0, i.stripQuotes)(e.typeface);
+ r.fontFamily = `"${n}"`;
+ const o = a.find(n);
+ if (o) {
+ const {fontFamily: a} = o.regular.cssFontInfo;
+ a !== n && (r.fontFamily = `"${a}"`);
+ const i = getCurrentPara(t);
+ if (i && '' !== i.lineHeight) return;
+ if (r.lineHeight) return;
+ const c = (0, s.selectFont)(e, o);
+ c && (r.lineHeight = Math.max(1.2, c.lineHeight));
+ }
+ };
+ t.setMinMaxDimensions = function setMinMaxDimensions(e, t) {
+ if ('position' === e[r.$getSubformParent]().layout) {
+ e.minW > 0 && (t.minWidth = measureToString(e.minW));
+ e.maxW > 0 && (t.maxWidth = measureToString(e.maxW));
+ e.minH > 0 && (t.minHeight = measureToString(e.minH));
+ e.maxH > 0 && (t.maxHeight = measureToString(e.maxH));
+ }
+ };
+ t.setPara = function setPara(e, t, a) {
+ if (a.attributes.class && a.attributes.class.includes('xfaRich')) {
+ if (t) {
+ '' === e.h && (t.height = 'auto');
+ '' === e.w && (t.width = 'auto');
+ }
+ const n = getCurrentPara(e);
+ if (n) {
+ const e = a.attributes.style;
+ e.display = 'flex';
+ e.flexDirection = 'column';
+ switch (n.vAlign) {
+ case 'top':
+ e.justifyContent = 'start';
+ break;
+ case 'bottom':
+ e.justifyContent = 'end';
+ break;
+ case 'middle':
+ e.justifyContent = 'center';
+ }
+ const t = n[r.$toStyle]();
+ for (const [a, r] of Object.entries(t)) a in e || (e[a] = r);
+ }
+ }
+ };
+ t.toStyle = function toStyle(e, ...t) {
+ const a = Object.create(null);
+ for (const i of t) {
+ const t = e[i];
+ if (null !== t)
+ if (c.hasOwnProperty(i)) c[i](e, a);
+ else if (t instanceof r.XFAObject) {
+ const e = t[r.$toStyle]();
+ e ? Object.assign(a, e) : (0, n.warn)(`(DEBUG) - XFA - style for ${i} not implemented yet`);
+ }
+ }
+ return a;
+ };
+ var r = a(77),
+ n = a(2),
+ i = a(78),
+ s = a(85),
+ o = a(86);
+ function measureToString(e) {
+ return 'string' == typeof e ? '0px' : Number.isInteger(e) ? `${e}px` : `${e.toFixed(2)}px`;
+ }
+ const c = {
+ anchorType(e, t) {
+ const a = e[r.$getSubformParent]();
+ if (a && (!a.layout || 'position' === a.layout)) {
+ 'transform' in t || (t.transform = '');
+ switch (e.anchorType) {
+ case 'bottomCenter':
+ t.transform += 'translate(-50%, -100%)';
+ break;
+ case 'bottomLeft':
+ t.transform += 'translate(0,-100%)';
+ break;
+ case 'bottomRight':
+ t.transform += 'translate(-100%,-100%)';
+ break;
+ case 'middleCenter':
+ t.transform += 'translate(-50%,-50%)';
+ break;
+ case 'middleLeft':
+ t.transform += 'translate(0,-50%)';
+ break;
+ case 'middleRight':
+ t.transform += 'translate(-100%,-50%)';
+ break;
+ case 'topCenter':
+ t.transform += 'translate(-50%,0)';
+ break;
+ case 'topRight':
+ t.transform += 'translate(-100%,0)';
+ }
+ }
+ },
+ dimensions(e, t) {
+ const a = e[r.$getSubformParent]();
+ let n = e.w;
+ const i = e.h;
+ if (a.layout && a.layout.includes('row')) {
+ const t = a[r.$extra],
+ i = e.colSpan;
+ let s;
+ if (-1 === i) {
+ s = t.columnWidths.slice(t.currentColumn).reduce((e, t) => e + t, 0);
+ t.currentColumn = 0;
+ } else {
+ s = t.columnWidths.slice(t.currentColumn, t.currentColumn + i).reduce((e, t) => e + t, 0);
+ t.currentColumn = (t.currentColumn + e.colSpan) % t.columnWidths.length;
+ }
+ isNaN(s) || (n = e.w = s);
+ }
+ t.width = '' !== n ? measureToString(n) : 'auto';
+ t.height = '' !== i ? measureToString(i) : 'auto';
+ },
+ position(e, t) {
+ const a = e[r.$getSubformParent]();
+ if (!a || !a.layout || 'position' === a.layout) {
+ t.position = 'absolute';
+ t.left = measureToString(e.x);
+ t.top = measureToString(e.y);
+ }
+ },
+ rotate(e, t) {
+ if (e.rotate) {
+ 'transform' in t || (t.transform = '');
+ t.transform += `rotate(-${e.rotate}deg)`;
+ t.transformOrigin = 'top left';
+ }
+ },
+ presence(e, t) {
+ switch (e.presence) {
+ case 'invisible':
+ t.visibility = 'hidden';
+ break;
+ case 'hidden':
+ case 'inactive':
+ t.display = 'none';
+ }
+ },
+ hAlign(e, t) {
+ if ('para' === e[r.$nodeName])
+ switch (e.hAlign) {
+ case 'justifyAll':
+ t.textAlign = 'justify-all';
+ break;
+ case 'radix':
+ t.textAlign = 'left';
+ break;
+ default:
+ t.textAlign = e.hAlign;
+ }
+ else
+ switch (e.hAlign) {
+ case 'left':
+ t.alignSelf = 'start';
+ break;
+ case 'center':
+ t.alignSelf = 'center';
+ break;
+ case 'right':
+ t.alignSelf = 'end';
+ }
+ },
+ margin(e, t) {
+ e.margin && (t.margin = e.margin[r.$toStyle]().margin);
+ },
+ };
+ function layoutText(e, t, a, n, i, s) {
+ const c = new o.TextMeasure(t, a, n, i);
+ 'string' == typeof e ? c.addString(e) : e[r.$pushGlyphs](c);
+ return c.compute(s);
+ }
+ function isPrintOnly(e) {
+ return e.relevant.length > 0 && !e.relevant[0].excluded && 'print' === e.relevant[0].viewname;
+ }
+ function getCurrentPara(e) {
+ const t = e[r.$getTemplateRoot]()[r.$extra].paraStack;
+ return t.length ? t.at(-1) : null;
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.FontFinder = void 0;
+ t.getMetrics = function getMetrics(e, t = !1) {
+ let a = null;
+ if (e) {
+ const t = (0, n.stripQuotes)(e.typeface),
+ i = e[r.$globalData].fontFinder.find(t);
+ a = selectFont(e, i);
+ }
+ if (!a) return {lineHeight: 12, lineGap: 2, lineNoGap: 10};
+ const i = e.size || 10,
+ s = a.lineHeight ? Math.max(t ? 0 : 1.2, a.lineHeight) : 1.2,
+ o = void 0 === a.lineGap ? 0.2 : a.lineGap;
+ return {lineHeight: s * i, lineGap: o * i, lineNoGap: Math.max(1, s - o) * i};
+ };
+ t.selectFont = selectFont;
+ var r = a(77),
+ n = a(78),
+ i = a(2);
+ t.FontFinder = class FontFinder {
+ constructor(e) {
+ this.fonts = new Map();
+ this.cache = new Map();
+ this.warned = new Set();
+ this.defaultFont = null;
+ this.add(e);
+ }
+ add(e, t = null) {
+ for (const t of e) this.addPdfFont(t);
+ for (const e of this.fonts.values()) e.regular || (e.regular = e.italic || e.bold || e.bolditalic);
+ if (!t || 0 === t.size) return;
+ const a = this.fonts.get('PdfJS-Fallback-PdfJS-XFA');
+ for (const e of t) this.fonts.set(e, a);
+ }
+ addPdfFont(e) {
+ const t = e.cssFontInfo,
+ a = t.fontFamily;
+ let r = this.fonts.get(a);
+ if (!r) {
+ r = Object.create(null);
+ this.fonts.set(a, r);
+ this.defaultFont || (this.defaultFont = r);
+ }
+ let n = '';
+ const i = parseFloat(t.fontWeight);
+ 0 !== parseFloat(t.italicAngle) ? (n = i >= 700 ? 'bolditalic' : 'italic') : i >= 700 && (n = 'bold');
+ if (!n) {
+ (e.name.includes('Bold') || (e.psName && e.psName.includes('Bold'))) && (n = 'bold');
+ (e.name.includes('Italic') ||
+ e.name.endsWith('It') ||
+ (e.psName && (e.psName.includes('Italic') || e.psName.endsWith('It')))) &&
+ (n += 'italic');
+ }
+ n || (n = 'regular');
+ r[n] = e;
+ }
+ getDefault() {
+ return this.defaultFont;
+ }
+ find(e, t = !0) {
+ let a = this.fonts.get(e) || this.cache.get(e);
+ if (a) return a;
+ const r = /,|-|_| |bolditalic|bold|italic|regular|it/gi;
+ let n = e.replace(r, '');
+ a = this.fonts.get(n);
+ if (a) {
+ this.cache.set(e, a);
+ return a;
+ }
+ n = n.toLowerCase();
+ const s = [];
+ for (const [e, t] of this.fonts.entries()) e.replace(r, '').toLowerCase().startsWith(n) && s.push(t);
+ if (0 === s.length)
+ for (const [, e] of this.fonts.entries())
+ e.regular.name && e.regular.name.replace(r, '').toLowerCase().startsWith(n) && s.push(e);
+ if (0 === s.length) {
+ n = n.replace(/psmt|mt/gi, '');
+ for (const [e, t] of this.fonts.entries()) e.replace(r, '').toLowerCase().startsWith(n) && s.push(t);
+ }
+ if (0 === s.length)
+ for (const e of this.fonts.values())
+ e.regular.name && e.regular.name.replace(r, '').toLowerCase().startsWith(n) && s.push(e);
+ if (s.length >= 1) {
+ 1 !== s.length && t && (0, i.warn)(`XFA - Too many choices to guess the correct font: ${e}`);
+ this.cache.set(e, s[0]);
+ return s[0];
+ }
+ if (t && !this.warned.has(e)) {
+ this.warned.add(e);
+ (0, i.warn)(`XFA - Cannot find the font: ${e}`);
+ }
+ return null;
+ }
+ };
+ function selectFont(e, t) {
+ return 'italic' === e.posture
+ ? 'bold' === e.weight
+ ? t.bolditalic
+ : t.italic
+ : 'bold' === e.weight
+ ? t.bold
+ : t.regular;
+ }
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.TextMeasure = void 0;
+ var r = a(85);
+ class FontInfo {
+ constructor(e, t, a, n) {
+ this.lineHeight = a;
+ this.paraMargin = t || {top: 0, bottom: 0, left: 0, right: 0};
+ if (!e) {
+ [this.pdfFont, this.xfaFont] = this.defaultFont(n);
+ return;
+ }
+ this.xfaFont = {
+ typeface: e.typeface,
+ posture: e.posture,
+ weight: e.weight,
+ size: e.size,
+ letterSpacing: e.letterSpacing,
+ };
+ const i = n.find(e.typeface);
+ if (i) {
+ this.pdfFont = (0, r.selectFont)(e, i);
+ this.pdfFont || ([this.pdfFont, this.xfaFont] = this.defaultFont(n));
+ } else [this.pdfFont, this.xfaFont] = this.defaultFont(n);
+ }
+ defaultFont(e) {
+ const t = e.find('Helvetica', !1) || e.find('Myriad Pro', !1) || e.find('Arial', !1) || e.getDefault();
+ if (t && t.regular) {
+ const e = t.regular;
+ return [
+ e,
+ {typeface: e.cssFontInfo.fontFamily, posture: 'normal', weight: 'normal', size: 10, letterSpacing: 0},
+ ];
+ }
+ return [null, {typeface: 'Courier', posture: 'normal', weight: 'normal', size: 10, letterSpacing: 0}];
+ }
+ }
+ class FontSelector {
+ constructor(e, t, a, r) {
+ this.fontFinder = r;
+ this.stack = [new FontInfo(e, t, a, r)];
+ }
+ pushData(e, t, a) {
+ const r = this.stack.at(-1);
+ for (const t of ['typeface', 'posture', 'weight', 'size', 'letterSpacing']) e[t] || (e[t] = r.xfaFont[t]);
+ for (const e of ['top', 'bottom', 'left', 'right']) isNaN(t[e]) && (t[e] = r.paraMargin[e]);
+ const n = new FontInfo(e, t, a || r.lineHeight, this.fontFinder);
+ n.pdfFont || (n.pdfFont = r.pdfFont);
+ this.stack.push(n);
+ }
+ popFont() {
+ this.stack.pop();
+ }
+ topFont() {
+ return this.stack.at(-1);
+ }
+ }
+ t.TextMeasure = class TextMeasure {
+ constructor(e, t, a, r) {
+ this.glyphs = [];
+ this.fontSelector = new FontSelector(e, t, a, r);
+ this.extraHeight = 0;
+ }
+ pushData(e, t, a) {
+ this.fontSelector.pushData(e, t, a);
+ }
+ popFont(e) {
+ return this.fontSelector.popFont();
+ }
+ addPara() {
+ const e = this.fontSelector.topFont();
+ this.extraHeight += e.paraMargin.top + e.paraMargin.bottom;
+ }
+ addString(e) {
+ if (!e) return;
+ const t = this.fontSelector.topFont(),
+ a = t.xfaFont.size;
+ if (t.pdfFont) {
+ const r = t.xfaFont.letterSpacing,
+ n = t.pdfFont,
+ i = n.lineHeight || 1.2,
+ s = t.lineHeight || Math.max(1.2, i) * a,
+ o = i - (void 0 === n.lineGap ? 0.2 : n.lineGap),
+ c = Math.max(1, o) * a,
+ l = a / 1e3,
+ h = n.defaultWidth || n.charsToGlyphs(' ')[0].width;
+ for (const t of e.split(/[\u2029\n]/)) {
+ const e = n.encodeString(t).join(''),
+ a = n.charsToGlyphs(e);
+ for (const e of a) {
+ const t = e.width || h;
+ this.glyphs.push([t * l + r, s, c, e.unicode, !1]);
+ }
+ this.glyphs.push([0, 0, 0, '\n', !0]);
+ }
+ this.glyphs.pop();
+ } else {
+ for (const t of e.split(/[\u2029\n]/)) {
+ for (const e of t.split('')) this.glyphs.push([a, 1.2 * a, a, e, !1]);
+ this.glyphs.push([0, 0, 0, '\n', !0]);
+ }
+ this.glyphs.pop();
+ }
+ }
+ compute(e) {
+ let t = -1,
+ a = 0,
+ r = 0,
+ n = 0,
+ i = 0,
+ s = 0,
+ o = !1,
+ c = !0;
+ for (let l = 0, h = this.glyphs.length; l < h; l++) {
+ const [h, u, d, f, g] = this.glyphs[l],
+ p = ' ' === f,
+ m = c ? d : u;
+ if (g) {
+ r = Math.max(r, i);
+ i = 0;
+ n += s;
+ s = m;
+ t = -1;
+ a = 0;
+ c = !1;
+ } else if (p)
+ if (i + h > e) {
+ r = Math.max(r, i);
+ i = 0;
+ n += s;
+ s = m;
+ t = -1;
+ a = 0;
+ o = !0;
+ c = !1;
+ } else {
+ s = Math.max(m, s);
+ a = i;
+ i += h;
+ t = l;
+ }
+ else if (i + h > e) {
+ n += s;
+ s = m;
+ if (-1 !== t) {
+ l = t;
+ r = Math.max(r, a);
+ i = 0;
+ t = -1;
+ a = 0;
+ } else {
+ r = Math.max(r, i);
+ i = h;
+ }
+ o = !0;
+ c = !1;
+ } else {
+ i += h;
+ s = Math.max(m, s);
+ }
+ }
+ r = Math.max(r, i);
+ n += s + this.extraHeight;
+ return {width: 1.02 * r, height: n, isBroken: o};
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.DataHandler = void 0;
+ var r = a(77);
+ t.DataHandler = class DataHandler {
+ constructor(e, t) {
+ this.data = t;
+ this.dataset = e.datasets || null;
+ }
+ serialize(e) {
+ const t = [[-1, this.data[r.$getChildren]()]];
+ for (; t.length > 0; ) {
+ const a = t.at(-1),
+ [n, i] = a;
+ if (n + 1 === i.length) {
+ t.pop();
+ continue;
+ }
+ const s = i[++a[0]],
+ o = e.get(s[r.$uid]);
+ if (o) s[r.$setValue](o);
+ else {
+ const t = s[r.$getAttributes]();
+ for (const a of t.values()) {
+ const t = e.get(a[r.$uid]);
+ if (t) {
+ a[r.$setValue](t);
+ break;
+ }
+ }
+ }
+ const c = s[r.$getChildren]();
+ c.length > 0 && t.push([-1, c]);
+ }
+ const a = [''];
+ if (this.dataset)
+ for (const e of this.dataset[r.$getChildren]()) 'data' !== e[r.$nodeName] && e[r.$toString](a);
+ this.data[r.$toString](a);
+ a.push('');
+ return a.join('');
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.XFAParser = void 0;
+ var r = a(77),
+ n = a(66),
+ i = a(89),
+ s = a(2);
+ class XFAParser extends n.XMLParserBase {
+ constructor(e = null, t = !1) {
+ super();
+ this._builder = new i.Builder(e);
+ this._stack = [];
+ this._globalData = {usedTypefaces: new Set()};
+ this._ids = new Map();
+ this._current = this._builder.buildRoot(this._ids);
+ this._errorCode = n.XMLParserErrorCode.NoError;
+ this._whiteRegex = /^\s+$/;
+ this._nbsps = /\xa0+/g;
+ this._richText = t;
+ }
+ parse(e) {
+ this.parseXml(e);
+ if (this._errorCode === n.XMLParserErrorCode.NoError) {
+ this._current[r.$finalize]();
+ return this._current.element;
+ }
+ }
+ onText(e) {
+ e = e.replace(this._nbsps, (e) => e.slice(1) + ' ');
+ this._richText || this._current[r.$acceptWhitespace]()
+ ? this._current[r.$onText](e, this._richText)
+ : this._whiteRegex.test(e) || this._current[r.$onText](e.trim());
+ }
+ onCdata(e) {
+ this._current[r.$onText](e);
+ }
+ _mkAttributes(e, t) {
+ let a = null,
+ n = null;
+ const i = Object.create({});
+ for (const {name: o, value: c} of e)
+ if ('xmlns' === o) a ? (0, s.warn)(`XFA - multiple namespace definition in <${t}>`) : (a = c);
+ else if (o.startsWith('xmlns:')) {
+ const e = o.substring('xmlns:'.length);
+ n || (n = []);
+ n.push({prefix: e, value: c});
+ } else {
+ const e = o.indexOf(':');
+ if (-1 === e) i[o] = c;
+ else {
+ let t = i[r.$nsAttributes];
+ t || (t = i[r.$nsAttributes] = Object.create(null));
+ const [a, n] = [o.slice(0, e), o.slice(e + 1)];
+ let s = t[a];
+ s || (s = t[a] = Object.create(null));
+ s[n] = c;
+ }
+ }
+ return [a, n, i];
+ }
+ _getNameAndPrefix(e, t) {
+ const a = e.indexOf(':');
+ return -1 === a ? [e, null] : [e.substring(a + 1), t ? '' : e.substring(0, a)];
+ }
+ onBeginElement(e, t, a) {
+ const [n, i, s] = this._mkAttributes(t, e),
+ [o, c] = this._getNameAndPrefix(e, this._builder.isNsAgnostic()),
+ l = this._builder.build({nsPrefix: c, name: o, attributes: s, namespace: n, prefixes: i});
+ l[r.$globalData] = this._globalData;
+ if (a) {
+ l[r.$finalize]();
+ this._current[r.$onChild](l) && l[r.$setId](this._ids);
+ l[r.$clean](this._builder);
+ } else {
+ this._stack.push(this._current);
+ this._current = l;
+ }
+ }
+ onEndElement(e) {
+ const t = this._current;
+ if (t[r.$isCDATAXml]() && 'string' == typeof t[r.$content]) {
+ const e = new XFAParser();
+ e._globalData = this._globalData;
+ const a = e.parse(t[r.$content]);
+ t[r.$content] = null;
+ t[r.$onChild](a);
+ }
+ t[r.$finalize]();
+ this._current = this._stack.pop();
+ this._current[r.$onChild](t) && t[r.$setId](this._ids);
+ t[r.$clean](this._builder);
+ }
+ onError(e) {
+ this._errorCode = e;
+ }
+ }
+ t.XFAParser = XFAParser;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.Builder = void 0;
+ var r = a(79),
+ n = a(77),
+ i = a(90),
+ s = a(82),
+ o = a(99),
+ c = a(2);
+ class Root extends n.XFAObject {
+ constructor(e) {
+ super(-1, 'root', Object.create(null));
+ this.element = null;
+ this[n.$ids] = e;
+ }
+ [n.$onChild](e) {
+ this.element = e;
+ return !0;
+ }
+ [n.$finalize]() {
+ super[n.$finalize]();
+ if (this.element.template instanceof s.Template) {
+ this[n.$ids].set(n.$root, this.element);
+ this.element.template[n.$resolvePrototypes](this[n.$ids]);
+ this.element.template[n.$ids] = this[n.$ids];
+ }
+ }
+ }
+ class Empty extends n.XFAObject {
+ constructor() {
+ super(-1, '', Object.create(null));
+ }
+ [n.$onChild](e) {
+ return !1;
+ }
+ }
+ t.Builder = class Builder {
+ constructor(e = null) {
+ this._namespaceStack = [];
+ this._nsAgnosticLevel = 0;
+ this._namespacePrefixes = new Map();
+ this._namespaces = new Map();
+ this._nextNsId = Math.max(...Object.values(r.NamespaceIds).map(({id: e}) => e));
+ this._currentNamespace = e || new o.UnknownNamespace(++this._nextNsId);
+ }
+ buildRoot(e) {
+ return new Root(e);
+ }
+ build({nsPrefix: e, name: t, attributes: a, namespace: s, prefixes: o}) {
+ const c = null !== s;
+ if (c) {
+ this._namespaceStack.push(this._currentNamespace);
+ this._currentNamespace = this._searchNamespace(s);
+ }
+ o && this._addNamespacePrefix(o);
+ if (a.hasOwnProperty(n.$nsAttributes)) {
+ const e = i.NamespaceSetUp.datasets,
+ t = a[n.$nsAttributes];
+ let r = null;
+ for (const [a, n] of Object.entries(t)) {
+ if (this._getNamespaceToUse(a) === e) {
+ r = {xfa: n};
+ break;
+ }
+ }
+ r ? (a[n.$nsAttributes] = r) : delete a[n.$nsAttributes];
+ }
+ const l = this._getNamespaceToUse(e),
+ h = (l && l[r.$buildXFAObject](t, a)) || new Empty();
+ h[n.$isNsAgnostic]() && this._nsAgnosticLevel++;
+ (c || o || h[n.$isNsAgnostic]()) &&
+ (h[n.$cleanup] = {hasNamespace: c, prefixes: o, nsAgnostic: h[n.$isNsAgnostic]()});
+ return h;
+ }
+ isNsAgnostic() {
+ return this._nsAgnosticLevel > 0;
+ }
+ _searchNamespace(e) {
+ let t = this._namespaces.get(e);
+ if (t) return t;
+ for (const [a, {check: n}] of Object.entries(r.NamespaceIds))
+ if (n(e)) {
+ t = i.NamespaceSetUp[a];
+ if (t) {
+ this._namespaces.set(e, t);
+ return t;
+ }
+ break;
+ }
+ t = new o.UnknownNamespace(++this._nextNsId);
+ this._namespaces.set(e, t);
+ return t;
+ }
+ _addNamespacePrefix(e) {
+ for (const {prefix: t, value: a} of e) {
+ const e = this._searchNamespace(a);
+ let r = this._namespacePrefixes.get(t);
+ if (!r) {
+ r = [];
+ this._namespacePrefixes.set(t, r);
+ }
+ r.push(e);
+ }
+ }
+ _getNamespaceToUse(e) {
+ if (!e) return this._currentNamespace;
+ const t = this._namespacePrefixes.get(e);
+ if (t && t.length > 0) return t.at(-1);
+ (0, c.warn)(`Unknown namespace prefix: ${e}.`);
+ return null;
+ }
+ clean(e) {
+ const {hasNamespace: t, prefixes: a, nsAgnostic: r} = e;
+ t && (this._currentNamespace = this._namespaceStack.pop());
+ a &&
+ a.forEach(({prefix: e}) => {
+ this._namespacePrefixes.get(e).pop();
+ });
+ r && this._nsAgnosticLevel--;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.NamespaceSetUp = void 0;
+ var r = a(91),
+ n = a(92),
+ i = a(93),
+ s = a(94),
+ o = a(95),
+ c = a(96),
+ l = a(82),
+ h = a(97),
+ u = a(98);
+ const d = {
+ config: r.ConfigNamespace,
+ connection: n.ConnectionSetNamespace,
+ datasets: i.DatasetsNamespace,
+ localeSet: s.LocaleSetNamespace,
+ signature: o.SignatureNamespace,
+ stylesheet: c.StylesheetNamespace,
+ template: l.TemplateNamespace,
+ xdp: h.XdpNamespace,
+ xhtml: u.XhtmlNamespace,
+ };
+ t.NamespaceSetUp = d;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ConfigNamespace = void 0;
+ var r = a(79),
+ n = a(77),
+ i = a(78),
+ s = a(2);
+ const o = r.NamespaceIds.config.id;
+ class Acrobat extends n.XFAObject {
+ constructor(e) {
+ super(o, 'acrobat', !0);
+ this.acrobat7 = null;
+ this.autoSave = null;
+ this.common = null;
+ this.validate = null;
+ this.validateApprovalSignatures = null;
+ this.submitUrl = new n.XFAObjectArray();
+ }
+ }
+ class Acrobat7 extends n.XFAObject {
+ constructor(e) {
+ super(o, 'acrobat7', !0);
+ this.dynamicRender = null;
+ }
+ }
+ class ADBE_JSConsole extends n.OptionObject {
+ constructor(e) {
+ super(o, 'ADBE_JSConsole', ['delegate', 'Enable', 'Disable']);
+ }
+ }
+ class ADBE_JSDebugger extends n.OptionObject {
+ constructor(e) {
+ super(o, 'ADBE_JSDebugger', ['delegate', 'Enable', 'Disable']);
+ }
+ }
+ class AddSilentPrint extends n.Option01 {
+ constructor(e) {
+ super(o, 'addSilentPrint');
+ }
+ }
+ class AddViewerPreferences extends n.Option01 {
+ constructor(e) {
+ super(o, 'addViewerPreferences');
+ }
+ }
+ class AdjustData extends n.Option10 {
+ constructor(e) {
+ super(o, 'adjustData');
+ }
+ }
+ class AdobeExtensionLevel extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'adobeExtensionLevel', 0, (e) => e >= 1 && e <= 8);
+ }
+ }
+ class Agent extends n.XFAObject {
+ constructor(e) {
+ super(o, 'agent', !0);
+ this.name = e.name ? e.name.trim() : '';
+ this.common = new n.XFAObjectArray();
+ }
+ }
+ class AlwaysEmbed extends n.ContentObject {
+ constructor(e) {
+ super(o, 'alwaysEmbed');
+ }
+ }
+ class Amd extends n.StringObject {
+ constructor(e) {
+ super(o, 'amd');
+ }
+ }
+ class Area extends n.XFAObject {
+ constructor(e) {
+ super(o, 'area');
+ this.level = (0, i.getInteger)({data: e.level, defaultValue: 0, validate: (e) => e >= 1 && e <= 3});
+ this.name = (0, i.getStringOption)(e.name, [
+ '',
+ 'barcode',
+ 'coreinit',
+ 'deviceDriver',
+ 'font',
+ 'general',
+ 'layout',
+ 'merge',
+ 'script',
+ 'signature',
+ 'sourceSet',
+ 'templateCache',
+ ]);
+ }
+ }
+ class Attributes extends n.OptionObject {
+ constructor(e) {
+ super(o, 'attributes', ['preserve', 'delegate', 'ignore']);
+ }
+ }
+ class AutoSave extends n.OptionObject {
+ constructor(e) {
+ super(o, 'autoSave', ['disabled', 'enabled']);
+ }
+ }
+ class Base extends n.StringObject {
+ constructor(e) {
+ super(o, 'base');
+ }
+ }
+ class BatchOutput extends n.XFAObject {
+ constructor(e) {
+ super(o, 'batchOutput');
+ this.format = (0, i.getStringOption)(e.format, ['none', 'concat', 'zip', 'zipCompress']);
+ }
+ }
+ class BehaviorOverride extends n.ContentObject {
+ constructor(e) {
+ super(o, 'behaviorOverride');
+ }
+ [n.$finalize]() {
+ this[n.$content] = new Map(
+ this[n.$content]
+ .trim()
+ .split(/\s+/)
+ .filter((e) => e.includes(':'))
+ .map((e) => e.split(':', 2))
+ );
+ }
+ }
+ class Cache extends n.XFAObject {
+ constructor(e) {
+ super(o, 'cache', !0);
+ this.templateCache = null;
+ }
+ }
+ class Change extends n.Option01 {
+ constructor(e) {
+ super(o, 'change');
+ }
+ }
+ class Common extends n.XFAObject {
+ constructor(e) {
+ super(o, 'common', !0);
+ this.data = null;
+ this.locale = null;
+ this.localeSet = null;
+ this.messaging = null;
+ this.suppressBanner = null;
+ this.template = null;
+ this.validationMessaging = null;
+ this.versionControl = null;
+ this.log = new n.XFAObjectArray();
+ }
+ }
+ class Compress extends n.XFAObject {
+ constructor(e) {
+ super(o, 'compress');
+ this.scope = (0, i.getStringOption)(e.scope, ['imageOnly', 'document']);
+ }
+ }
+ class CompressLogicalStructure extends n.Option01 {
+ constructor(e) {
+ super(o, 'compressLogicalStructure');
+ }
+ }
+ class CompressObjectStream extends n.Option10 {
+ constructor(e) {
+ super(o, 'compressObjectStream');
+ }
+ }
+ class Compression extends n.XFAObject {
+ constructor(e) {
+ super(o, 'compression', !0);
+ this.compressLogicalStructure = null;
+ this.compressObjectStream = null;
+ this.level = null;
+ this.type = null;
+ }
+ }
+ class Config extends n.XFAObject {
+ constructor(e) {
+ super(o, 'config', !0);
+ this.acrobat = null;
+ this.present = null;
+ this.trace = null;
+ this.agent = new n.XFAObjectArray();
+ }
+ }
+ class Conformance extends n.OptionObject {
+ constructor(e) {
+ super(o, 'conformance', ['A', 'B']);
+ }
+ }
+ class ContentCopy extends n.Option01 {
+ constructor(e) {
+ super(o, 'contentCopy');
+ }
+ }
+ class Copies extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'copies', 1, (e) => e >= 1);
+ }
+ }
+ class Creator extends n.StringObject {
+ constructor(e) {
+ super(o, 'creator');
+ }
+ }
+ class CurrentPage extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'currentPage', 0, (e) => e >= 0);
+ }
+ }
+ class Data extends n.XFAObject {
+ constructor(e) {
+ super(o, 'data', !0);
+ this.adjustData = null;
+ this.attributes = null;
+ this.incrementalLoad = null;
+ this.outputXSL = null;
+ this.range = null;
+ this.record = null;
+ this.startNode = null;
+ this.uri = null;
+ this.window = null;
+ this.xsl = null;
+ this.excludeNS = new n.XFAObjectArray();
+ this.transform = new n.XFAObjectArray();
+ }
+ }
+ class Debug extends n.XFAObject {
+ constructor(e) {
+ super(o, 'debug', !0);
+ this.uri = null;
+ }
+ }
+ class DefaultTypeface extends n.ContentObject {
+ constructor(e) {
+ super(o, 'defaultTypeface');
+ this.writingScript = (0, i.getStringOption)(e.writingScript, [
+ '*',
+ 'Arabic',
+ 'Cyrillic',
+ 'EastEuropeanRoman',
+ 'Greek',
+ 'Hebrew',
+ 'Japanese',
+ 'Korean',
+ 'Roman',
+ 'SimplifiedChinese',
+ 'Thai',
+ 'TraditionalChinese',
+ 'Vietnamese',
+ ]);
+ }
+ }
+ class Destination extends n.OptionObject {
+ constructor(e) {
+ super(o, 'destination', ['pdf', 'pcl', 'ps', 'webClient', 'zpl']);
+ }
+ }
+ class DocumentAssembly extends n.Option01 {
+ constructor(e) {
+ super(o, 'documentAssembly');
+ }
+ }
+ class Driver extends n.XFAObject {
+ constructor(e) {
+ super(o, 'driver', !0);
+ this.name = e.name ? e.name.trim() : '';
+ this.fontInfo = null;
+ this.xdc = null;
+ }
+ }
+ class DuplexOption extends n.OptionObject {
+ constructor(e) {
+ super(o, 'duplexOption', ['simplex', 'duplexFlipLongEdge', 'duplexFlipShortEdge']);
+ }
+ }
+ class DynamicRender extends n.OptionObject {
+ constructor(e) {
+ super(o, 'dynamicRender', ['forbidden', 'required']);
+ }
+ }
+ class Embed extends n.Option01 {
+ constructor(e) {
+ super(o, 'embed');
+ }
+ }
+ class Encrypt extends n.Option01 {
+ constructor(e) {
+ super(o, 'encrypt');
+ }
+ }
+ class Encryption extends n.XFAObject {
+ constructor(e) {
+ super(o, 'encryption', !0);
+ this.encrypt = null;
+ this.encryptionLevel = null;
+ this.permissions = null;
+ }
+ }
+ class EncryptionLevel extends n.OptionObject {
+ constructor(e) {
+ super(o, 'encryptionLevel', ['40bit', '128bit']);
+ }
+ }
+ class Enforce extends n.StringObject {
+ constructor(e) {
+ super(o, 'enforce');
+ }
+ }
+ class Equate extends n.XFAObject {
+ constructor(e) {
+ super(o, 'equate');
+ this.force = (0, i.getInteger)({data: e.force, defaultValue: 1, validate: (e) => 0 === e});
+ this.from = e.from || '';
+ this.to = e.to || '';
+ }
+ }
+ class EquateRange extends n.XFAObject {
+ constructor(e) {
+ super(o, 'equateRange');
+ this.from = e.from || '';
+ this.to = e.to || '';
+ this._unicodeRange = e.unicodeRange || '';
+ }
+ get unicodeRange() {
+ const e = [],
+ t = /U\+([0-9a-fA-F]+)/,
+ a = this._unicodeRange;
+ for (let r of a
+ .split(',')
+ .map((e) => e.trim())
+ .filter((e) => !!e)) {
+ r = r.split('-', 2).map((e) => {
+ const a = e.match(t);
+ return a ? parseInt(a[1], 16) : 0;
+ });
+ 1 === r.length && r.push(r[0]);
+ e.push(r);
+ }
+ return (0, s.shadow)(this, 'unicodeRange', e);
+ }
+ }
+ class Exclude extends n.ContentObject {
+ constructor(e) {
+ super(o, 'exclude');
+ }
+ [n.$finalize]() {
+ this[n.$content] = this[n.$content]
+ .trim()
+ .split(/\s+/)
+ .filter(
+ (e) => e && ['calculate', 'close', 'enter', 'exit', 'initialize', 'ready', 'validate'].includes(e)
+ );
+ }
+ }
+ class ExcludeNS extends n.StringObject {
+ constructor(e) {
+ super(o, 'excludeNS');
+ }
+ }
+ class FlipLabel extends n.OptionObject {
+ constructor(e) {
+ super(o, 'flipLabel', ['usePrinterSetting', 'on', 'off']);
+ }
+ }
+ class FontInfo extends n.XFAObject {
+ constructor(e) {
+ super(o, 'fontInfo', !0);
+ this.embed = null;
+ this.map = null;
+ this.subsetBelow = null;
+ this.alwaysEmbed = new n.XFAObjectArray();
+ this.defaultTypeface = new n.XFAObjectArray();
+ this.neverEmbed = new n.XFAObjectArray();
+ }
+ }
+ class FormFieldFilling extends n.Option01 {
+ constructor(e) {
+ super(o, 'formFieldFilling');
+ }
+ }
+ class GroupParent extends n.StringObject {
+ constructor(e) {
+ super(o, 'groupParent');
+ }
+ }
+ class IfEmpty extends n.OptionObject {
+ constructor(e) {
+ super(o, 'ifEmpty', ['dataValue', 'dataGroup', 'ignore', 'remove']);
+ }
+ }
+ class IncludeXDPContent extends n.StringObject {
+ constructor(e) {
+ super(o, 'includeXDPContent');
+ }
+ }
+ class IncrementalLoad extends n.OptionObject {
+ constructor(e) {
+ super(o, 'incrementalLoad', ['none', 'forwardOnly']);
+ }
+ }
+ class IncrementalMerge extends n.Option01 {
+ constructor(e) {
+ super(o, 'incrementalMerge');
+ }
+ }
+ class Interactive extends n.Option01 {
+ constructor(e) {
+ super(o, 'interactive');
+ }
+ }
+ class Jog extends n.OptionObject {
+ constructor(e) {
+ super(o, 'jog', ['usePrinterSetting', 'none', 'pageSet']);
+ }
+ }
+ class LabelPrinter extends n.XFAObject {
+ constructor(e) {
+ super(o, 'labelPrinter', !0);
+ this.name = (0, i.getStringOption)(e.name, ['zpl', 'dpl', 'ipl', 'tcpl']);
+ this.batchOutput = null;
+ this.flipLabel = null;
+ this.fontInfo = null;
+ this.xdc = null;
+ }
+ }
+ class Layout extends n.OptionObject {
+ constructor(e) {
+ super(o, 'layout', ['paginate', 'panel']);
+ }
+ }
+ class Level extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'level', 0, (e) => e > 0);
+ }
+ }
+ class Linearized extends n.Option01 {
+ constructor(e) {
+ super(o, 'linearized');
+ }
+ }
+ class Locale extends n.StringObject {
+ constructor(e) {
+ super(o, 'locale');
+ }
+ }
+ class LocaleSet extends n.StringObject {
+ constructor(e) {
+ super(o, 'localeSet');
+ }
+ }
+ class Log extends n.XFAObject {
+ constructor(e) {
+ super(o, 'log', !0);
+ this.mode = null;
+ this.threshold = null;
+ this.to = null;
+ this.uri = null;
+ }
+ }
+ class MapElement extends n.XFAObject {
+ constructor(e) {
+ super(o, 'map', !0);
+ this.equate = new n.XFAObjectArray();
+ this.equateRange = new n.XFAObjectArray();
+ }
+ }
+ class MediumInfo extends n.XFAObject {
+ constructor(e) {
+ super(o, 'mediumInfo', !0);
+ this.map = null;
+ }
+ }
+ class Message extends n.XFAObject {
+ constructor(e) {
+ super(o, 'message', !0);
+ this.msgId = null;
+ this.severity = null;
+ }
+ }
+ class Messaging extends n.XFAObject {
+ constructor(e) {
+ super(o, 'messaging', !0);
+ this.message = new n.XFAObjectArray();
+ }
+ }
+ class Mode extends n.OptionObject {
+ constructor(e) {
+ super(o, 'mode', ['append', 'overwrite']);
+ }
+ }
+ class ModifyAnnots extends n.Option01 {
+ constructor(e) {
+ super(o, 'modifyAnnots');
+ }
+ }
+ class MsgId extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'msgId', 1, (e) => e >= 1);
+ }
+ }
+ class NameAttr extends n.StringObject {
+ constructor(e) {
+ super(o, 'nameAttr');
+ }
+ }
+ class NeverEmbed extends n.ContentObject {
+ constructor(e) {
+ super(o, 'neverEmbed');
+ }
+ }
+ class NumberOfCopies extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'numberOfCopies', null, (e) => e >= 2 && e <= 5);
+ }
+ }
+ class OpenAction extends n.XFAObject {
+ constructor(e) {
+ super(o, 'openAction', !0);
+ this.destination = null;
+ }
+ }
+ class Output extends n.XFAObject {
+ constructor(e) {
+ super(o, 'output', !0);
+ this.to = null;
+ this.type = null;
+ this.uri = null;
+ }
+ }
+ class OutputBin extends n.StringObject {
+ constructor(e) {
+ super(o, 'outputBin');
+ }
+ }
+ class OutputXSL extends n.XFAObject {
+ constructor(e) {
+ super(o, 'outputXSL', !0);
+ this.uri = null;
+ }
+ }
+ class Overprint extends n.OptionObject {
+ constructor(e) {
+ super(o, 'overprint', ['none', 'both', 'draw', 'field']);
+ }
+ }
+ class Packets extends n.StringObject {
+ constructor(e) {
+ super(o, 'packets');
+ }
+ [n.$finalize]() {
+ '*' !== this[n.$content] &&
+ (this[n.$content] = this[n.$content]
+ .trim()
+ .split(/\s+/)
+ .filter((e) => ['config', 'datasets', 'template', 'xfdf', 'xslt'].includes(e)));
+ }
+ }
+ class PageOffset extends n.XFAObject {
+ constructor(e) {
+ super(o, 'pageOffset');
+ this.x = (0, i.getInteger)({data: e.x, defaultValue: 'useXDCSetting', validate: (e) => !0});
+ this.y = (0, i.getInteger)({data: e.y, defaultValue: 'useXDCSetting', validate: (e) => !0});
+ }
+ }
+ class PageRange extends n.StringObject {
+ constructor(e) {
+ super(o, 'pageRange');
+ }
+ [n.$finalize]() {
+ const e = this[n.$content]
+ .trim()
+ .split(/\s+/)
+ .map((e) => parseInt(e, 10)),
+ t = [];
+ for (let a = 0, r = e.length; a < r; a += 2) t.push(e.slice(a, a + 2));
+ this[n.$content] = t;
+ }
+ }
+ class Pagination extends n.OptionObject {
+ constructor(e) {
+ super(o, 'pagination', ['simplex', 'duplexShortEdge', 'duplexLongEdge']);
+ }
+ }
+ class PaginationOverride extends n.OptionObject {
+ constructor(e) {
+ super(o, 'paginationOverride', [
+ 'none',
+ 'forceDuplex',
+ 'forceDuplexLongEdge',
+ 'forceDuplexShortEdge',
+ 'forceSimplex',
+ ]);
+ }
+ }
+ class Part extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'part', 1, (e) => !1);
+ }
+ }
+ class Pcl extends n.XFAObject {
+ constructor(e) {
+ super(o, 'pcl', !0);
+ this.name = e.name || '';
+ this.batchOutput = null;
+ this.fontInfo = null;
+ this.jog = null;
+ this.mediumInfo = null;
+ this.outputBin = null;
+ this.pageOffset = null;
+ this.staple = null;
+ this.xdc = null;
+ }
+ }
+ class Pdf extends n.XFAObject {
+ constructor(e) {
+ super(o, 'pdf', !0);
+ this.name = e.name || '';
+ this.adobeExtensionLevel = null;
+ this.batchOutput = null;
+ this.compression = null;
+ this.creator = null;
+ this.encryption = null;
+ this.fontInfo = null;
+ this.interactive = null;
+ this.linearized = null;
+ this.openAction = null;
+ this.pdfa = null;
+ this.producer = null;
+ this.renderPolicy = null;
+ this.scriptModel = null;
+ this.silentPrint = null;
+ this.submitFormat = null;
+ this.tagged = null;
+ this.version = null;
+ this.viewerPreferences = null;
+ this.xdc = null;
+ }
+ }
+ class Pdfa extends n.XFAObject {
+ constructor(e) {
+ super(o, 'pdfa', !0);
+ this.amd = null;
+ this.conformance = null;
+ this.includeXDPContent = null;
+ this.part = null;
+ }
+ }
+ class Permissions extends n.XFAObject {
+ constructor(e) {
+ super(o, 'permissions', !0);
+ this.accessibleContent = null;
+ this.change = null;
+ this.contentCopy = null;
+ this.documentAssembly = null;
+ this.formFieldFilling = null;
+ this.modifyAnnots = null;
+ this.plaintextMetadata = null;
+ this.print = null;
+ this.printHighQuality = null;
+ }
+ }
+ class PickTrayByPDFSize extends n.Option01 {
+ constructor(e) {
+ super(o, 'pickTrayByPDFSize');
+ }
+ }
+ class Picture extends n.StringObject {
+ constructor(e) {
+ super(o, 'picture');
+ }
+ }
+ class PlaintextMetadata extends n.Option01 {
+ constructor(e) {
+ super(o, 'plaintextMetadata');
+ }
+ }
+ class Presence extends n.OptionObject {
+ constructor(e) {
+ super(o, 'presence', ['preserve', 'dissolve', 'dissolveStructure', 'ignore', 'remove']);
+ }
+ }
+ class Present extends n.XFAObject {
+ constructor(e) {
+ super(o, 'present', !0);
+ this.behaviorOverride = null;
+ this.cache = null;
+ this.common = null;
+ this.copies = null;
+ this.destination = null;
+ this.incrementalMerge = null;
+ this.layout = null;
+ this.output = null;
+ this.overprint = null;
+ this.pagination = null;
+ this.paginationOverride = null;
+ this.script = null;
+ this.validate = null;
+ this.xdp = null;
+ this.driver = new n.XFAObjectArray();
+ this.labelPrinter = new n.XFAObjectArray();
+ this.pcl = new n.XFAObjectArray();
+ this.pdf = new n.XFAObjectArray();
+ this.ps = new n.XFAObjectArray();
+ this.submitUrl = new n.XFAObjectArray();
+ this.webClient = new n.XFAObjectArray();
+ this.zpl = new n.XFAObjectArray();
+ }
+ }
+ class Print extends n.Option01 {
+ constructor(e) {
+ super(o, 'print');
+ }
+ }
+ class PrintHighQuality extends n.Option01 {
+ constructor(e) {
+ super(o, 'printHighQuality');
+ }
+ }
+ class PrintScaling extends n.OptionObject {
+ constructor(e) {
+ super(o, 'printScaling', ['appdefault', 'noScaling']);
+ }
+ }
+ class PrinterName extends n.StringObject {
+ constructor(e) {
+ super(o, 'printerName');
+ }
+ }
+ class Producer extends n.StringObject {
+ constructor(e) {
+ super(o, 'producer');
+ }
+ }
+ class Ps extends n.XFAObject {
+ constructor(e) {
+ super(o, 'ps', !0);
+ this.name = e.name || '';
+ this.batchOutput = null;
+ this.fontInfo = null;
+ this.jog = null;
+ this.mediumInfo = null;
+ this.outputBin = null;
+ this.staple = null;
+ this.xdc = null;
+ }
+ }
+ class Range extends n.ContentObject {
+ constructor(e) {
+ super(o, 'range');
+ }
+ [n.$finalize]() {
+ this[n.$content] = this[n.$content]
+ .trim()
+ .split(/\s*,\s*/, 2)
+ .map((e) => e.split('-').map((e) => parseInt(e.trim(), 10)))
+ .filter((e) => e.every((e) => !isNaN(e)))
+ .map((e) => {
+ 1 === e.length && e.push(e[0]);
+ return e;
+ });
+ }
+ }
+ class Record extends n.ContentObject {
+ constructor(e) {
+ super(o, 'record');
+ }
+ [n.$finalize]() {
+ this[n.$content] = this[n.$content].trim();
+ const e = parseInt(this[n.$content], 10);
+ !isNaN(e) && e >= 0 && (this[n.$content] = e);
+ }
+ }
+ class Relevant extends n.ContentObject {
+ constructor(e) {
+ super(o, 'relevant');
+ }
+ [n.$finalize]() {
+ this[n.$content] = this[n.$content].trim().split(/\s+/);
+ }
+ }
+ class Rename extends n.ContentObject {
+ constructor(e) {
+ super(o, 'rename');
+ }
+ [n.$finalize]() {
+ this[n.$content] = this[n.$content].trim();
+ (this[n.$content].toLowerCase().startsWith('xml') ||
+ this[n.$content].match(new RegExp('[\\p{L}_][\\p{L}\\d._\\p{M}-]*', 'u'))) &&
+ (0, s.warn)('XFA - Rename: invalid XFA name');
+ }
+ }
+ class RenderPolicy extends n.OptionObject {
+ constructor(e) {
+ super(o, 'renderPolicy', ['server', 'client']);
+ }
+ }
+ class RunScripts extends n.OptionObject {
+ constructor(e) {
+ super(o, 'runScripts', ['both', 'client', 'none', 'server']);
+ }
+ }
+ class Script extends n.XFAObject {
+ constructor(e) {
+ super(o, 'script', !0);
+ this.currentPage = null;
+ this.exclude = null;
+ this.runScripts = null;
+ }
+ }
+ class ScriptModel extends n.OptionObject {
+ constructor(e) {
+ super(o, 'scriptModel', ['XFA', 'none']);
+ }
+ }
+ class Severity extends n.OptionObject {
+ constructor(e) {
+ super(o, 'severity', ['ignore', 'error', 'information', 'trace', 'warning']);
+ }
+ }
+ class SilentPrint extends n.XFAObject {
+ constructor(e) {
+ super(o, 'silentPrint', !0);
+ this.addSilentPrint = null;
+ this.printerName = null;
+ }
+ }
+ class Staple extends n.XFAObject {
+ constructor(e) {
+ super(o, 'staple');
+ this.mode = (0, i.getStringOption)(e.mode, ['usePrinterSetting', 'on', 'off']);
+ }
+ }
+ class StartNode extends n.StringObject {
+ constructor(e) {
+ super(o, 'startNode');
+ }
+ }
+ class StartPage extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'startPage', 0, (e) => !0);
+ }
+ }
+ class SubmitFormat extends n.OptionObject {
+ constructor(e) {
+ super(o, 'submitFormat', ['html', 'delegate', 'fdf', 'xml', 'pdf']);
+ }
+ }
+ class SubmitUrl extends n.StringObject {
+ constructor(e) {
+ super(o, 'submitUrl');
+ }
+ }
+ class SubsetBelow extends n.IntegerObject {
+ constructor(e) {
+ super(o, 'subsetBelow', 100, (e) => e >= 0 && e <= 100);
+ }
+ }
+ class SuppressBanner extends n.Option01 {
+ constructor(e) {
+ super(o, 'suppressBanner');
+ }
+ }
+ class Tagged extends n.Option01 {
+ constructor(e) {
+ super(o, 'tagged');
+ }
+ }
+ class Template extends n.XFAObject {
+ constructor(e) {
+ super(o, 'template', !0);
+ this.base = null;
+ this.relevant = null;
+ this.startPage = null;
+ this.uri = null;
+ this.xsl = null;
+ }
+ }
+ class Threshold extends n.OptionObject {
+ constructor(e) {
+ super(o, 'threshold', ['trace', 'error', 'information', 'warning']);
+ }
+ }
+ class To extends n.OptionObject {
+ constructor(e) {
+ super(o, 'to', ['null', 'memory', 'stderr', 'stdout', 'system', 'uri']);
+ }
+ }
+ class TemplateCache extends n.XFAObject {
+ constructor(e) {
+ super(o, 'templateCache');
+ this.maxEntries = (0, i.getInteger)({data: e.maxEntries, defaultValue: 5, validate: (e) => e >= 0});
+ }
+ }
+ class Trace extends n.XFAObject {
+ constructor(e) {
+ super(o, 'trace', !0);
+ this.area = new n.XFAObjectArray();
+ }
+ }
+ class Transform extends n.XFAObject {
+ constructor(e) {
+ super(o, 'transform', !0);
+ this.groupParent = null;
+ this.ifEmpty = null;
+ this.nameAttr = null;
+ this.picture = null;
+ this.presence = null;
+ this.rename = null;
+ this.whitespace = null;
+ }
+ }
+ class Type extends n.OptionObject {
+ constructor(e) {
+ super(o, 'type', [
+ 'none',
+ 'ascii85',
+ 'asciiHex',
+ 'ccittfax',
+ 'flate',
+ 'lzw',
+ 'runLength',
+ 'native',
+ 'xdp',
+ 'mergedXDP',
+ ]);
+ }
+ }
+ class Uri extends n.StringObject {
+ constructor(e) {
+ super(o, 'uri');
+ }
+ }
+ class Validate extends n.OptionObject {
+ constructor(e) {
+ super(o, 'validate', ['preSubmit', 'prePrint', 'preExecute', 'preSave']);
+ }
+ }
+ class ValidateApprovalSignatures extends n.ContentObject {
+ constructor(e) {
+ super(o, 'validateApprovalSignatures');
+ }
+ [n.$finalize]() {
+ this[n.$content] = this[n.$content]
+ .trim()
+ .split(/\s+/)
+ .filter((e) => ['docReady', 'postSign'].includes(e));
+ }
+ }
+ class ValidationMessaging extends n.OptionObject {
+ constructor(e) {
+ super(o, 'validationMessaging', [
+ 'allMessagesIndividually',
+ 'allMessagesTogether',
+ 'firstMessageOnly',
+ 'noMessages',
+ ]);
+ }
+ }
+ class Version extends n.OptionObject {
+ constructor(e) {
+ super(o, 'version', ['1.7', '1.6', '1.5', '1.4', '1.3', '1.2']);
+ }
+ }
+ class VersionControl extends n.XFAObject {
+ constructor(e) {
+ super(o, 'VersionControl');
+ this.outputBelow = (0, i.getStringOption)(e.outputBelow, ['warn', 'error', 'update']);
+ this.sourceAbove = (0, i.getStringOption)(e.sourceAbove, ['warn', 'error']);
+ this.sourceBelow = (0, i.getStringOption)(e.sourceBelow, ['update', 'maintain']);
+ }
+ }
+ class ViewerPreferences extends n.XFAObject {
+ constructor(e) {
+ super(o, 'viewerPreferences', !0);
+ this.ADBE_JSConsole = null;
+ this.ADBE_JSDebugger = null;
+ this.addViewerPreferences = null;
+ this.duplexOption = null;
+ this.enforce = null;
+ this.numberOfCopies = null;
+ this.pageRange = null;
+ this.pickTrayByPDFSize = null;
+ this.printScaling = null;
+ }
+ }
+ class WebClient extends n.XFAObject {
+ constructor(e) {
+ super(o, 'webClient', !0);
+ this.name = e.name ? e.name.trim() : '';
+ this.fontInfo = null;
+ this.xdc = null;
+ }
+ }
+ class Whitespace extends n.OptionObject {
+ constructor(e) {
+ super(o, 'whitespace', ['preserve', 'ltrim', 'normalize', 'rtrim', 'trim']);
+ }
+ }
+ class Window extends n.ContentObject {
+ constructor(e) {
+ super(o, 'window');
+ }
+ [n.$finalize]() {
+ const e = this[n.$content]
+ .trim()
+ .split(/\s*,\s*/, 2)
+ .map((e) => parseInt(e, 10));
+ if (e.some((e) => isNaN(e))) this[n.$content] = [0, 0];
+ else {
+ 1 === e.length && e.push(e[0]);
+ this[n.$content] = e;
+ }
+ }
+ }
+ class Xdc extends n.XFAObject {
+ constructor(e) {
+ super(o, 'xdc', !0);
+ this.uri = new n.XFAObjectArray();
+ this.xsl = new n.XFAObjectArray();
+ }
+ }
+ class Xdp extends n.XFAObject {
+ constructor(e) {
+ super(o, 'xdp', !0);
+ this.packets = null;
+ }
+ }
+ class Xsl extends n.XFAObject {
+ constructor(e) {
+ super(o, 'xsl', !0);
+ this.debug = null;
+ this.uri = null;
+ }
+ }
+ class Zpl extends n.XFAObject {
+ constructor(e) {
+ super(o, 'zpl', !0);
+ this.name = e.name ? e.name.trim() : '';
+ this.batchOutput = null;
+ this.flipLabel = null;
+ this.fontInfo = null;
+ this.xdc = null;
+ }
+ }
+ class ConfigNamespace {
+ static [r.$buildXFAObject](e, t) {
+ if (ConfigNamespace.hasOwnProperty(e)) return ConfigNamespace[e](t);
+ }
+ static acrobat(e) {
+ return new Acrobat(e);
+ }
+ static acrobat7(e) {
+ return new Acrobat7(e);
+ }
+ static ADBE_JSConsole(e) {
+ return new ADBE_JSConsole(e);
+ }
+ static ADBE_JSDebugger(e) {
+ return new ADBE_JSDebugger(e);
+ }
+ static addSilentPrint(e) {
+ return new AddSilentPrint(e);
+ }
+ static addViewerPreferences(e) {
+ return new AddViewerPreferences(e);
+ }
+ static adjustData(e) {
+ return new AdjustData(e);
+ }
+ static adobeExtensionLevel(e) {
+ return new AdobeExtensionLevel(e);
+ }
+ static agent(e) {
+ return new Agent(e);
+ }
+ static alwaysEmbed(e) {
+ return new AlwaysEmbed(e);
+ }
+ static amd(e) {
+ return new Amd(e);
+ }
+ static area(e) {
+ return new Area(e);
+ }
+ static attributes(e) {
+ return new Attributes(e);
+ }
+ static autoSave(e) {
+ return new AutoSave(e);
+ }
+ static base(e) {
+ return new Base(e);
+ }
+ static batchOutput(e) {
+ return new BatchOutput(e);
+ }
+ static behaviorOverride(e) {
+ return new BehaviorOverride(e);
+ }
+ static cache(e) {
+ return new Cache(e);
+ }
+ static change(e) {
+ return new Change(e);
+ }
+ static common(e) {
+ return new Common(e);
+ }
+ static compress(e) {
+ return new Compress(e);
+ }
+ static compressLogicalStructure(e) {
+ return new CompressLogicalStructure(e);
+ }
+ static compressObjectStream(e) {
+ return new CompressObjectStream(e);
+ }
+ static compression(e) {
+ return new Compression(e);
+ }
+ static config(e) {
+ return new Config(e);
+ }
+ static conformance(e) {
+ return new Conformance(e);
+ }
+ static contentCopy(e) {
+ return new ContentCopy(e);
+ }
+ static copies(e) {
+ return new Copies(e);
+ }
+ static creator(e) {
+ return new Creator(e);
+ }
+ static currentPage(e) {
+ return new CurrentPage(e);
+ }
+ static data(e) {
+ return new Data(e);
+ }
+ static debug(e) {
+ return new Debug(e);
+ }
+ static defaultTypeface(e) {
+ return new DefaultTypeface(e);
+ }
+ static destination(e) {
+ return new Destination(e);
+ }
+ static documentAssembly(e) {
+ return new DocumentAssembly(e);
+ }
+ static driver(e) {
+ return new Driver(e);
+ }
+ static duplexOption(e) {
+ return new DuplexOption(e);
+ }
+ static dynamicRender(e) {
+ return new DynamicRender(e);
+ }
+ static embed(e) {
+ return new Embed(e);
+ }
+ static encrypt(e) {
+ return new Encrypt(e);
+ }
+ static encryption(e) {
+ return new Encryption(e);
+ }
+ static encryptionLevel(e) {
+ return new EncryptionLevel(e);
+ }
+ static enforce(e) {
+ return new Enforce(e);
+ }
+ static equate(e) {
+ return new Equate(e);
+ }
+ static equateRange(e) {
+ return new EquateRange(e);
+ }
+ static exclude(e) {
+ return new Exclude(e);
+ }
+ static excludeNS(e) {
+ return new ExcludeNS(e);
+ }
+ static flipLabel(e) {
+ return new FlipLabel(e);
+ }
+ static fontInfo(e) {
+ return new FontInfo(e);
+ }
+ static formFieldFilling(e) {
+ return new FormFieldFilling(e);
+ }
+ static groupParent(e) {
+ return new GroupParent(e);
+ }
+ static ifEmpty(e) {
+ return new IfEmpty(e);
+ }
+ static includeXDPContent(e) {
+ return new IncludeXDPContent(e);
+ }
+ static incrementalLoad(e) {
+ return new IncrementalLoad(e);
+ }
+ static incrementalMerge(e) {
+ return new IncrementalMerge(e);
+ }
+ static interactive(e) {
+ return new Interactive(e);
+ }
+ static jog(e) {
+ return new Jog(e);
+ }
+ static labelPrinter(e) {
+ return new LabelPrinter(e);
+ }
+ static layout(e) {
+ return new Layout(e);
+ }
+ static level(e) {
+ return new Level(e);
+ }
+ static linearized(e) {
+ return new Linearized(e);
+ }
+ static locale(e) {
+ return new Locale(e);
+ }
+ static localeSet(e) {
+ return new LocaleSet(e);
+ }
+ static log(e) {
+ return new Log(e);
+ }
+ static map(e) {
+ return new MapElement(e);
+ }
+ static mediumInfo(e) {
+ return new MediumInfo(e);
+ }
+ static message(e) {
+ return new Message(e);
+ }
+ static messaging(e) {
+ return new Messaging(e);
+ }
+ static mode(e) {
+ return new Mode(e);
+ }
+ static modifyAnnots(e) {
+ return new ModifyAnnots(e);
+ }
+ static msgId(e) {
+ return new MsgId(e);
+ }
+ static nameAttr(e) {
+ return new NameAttr(e);
+ }
+ static neverEmbed(e) {
+ return new NeverEmbed(e);
+ }
+ static numberOfCopies(e) {
+ return new NumberOfCopies(e);
+ }
+ static openAction(e) {
+ return new OpenAction(e);
+ }
+ static output(e) {
+ return new Output(e);
+ }
+ static outputBin(e) {
+ return new OutputBin(e);
+ }
+ static outputXSL(e) {
+ return new OutputXSL(e);
+ }
+ static overprint(e) {
+ return new Overprint(e);
+ }
+ static packets(e) {
+ return new Packets(e);
+ }
+ static pageOffset(e) {
+ return new PageOffset(e);
+ }
+ static pageRange(e) {
+ return new PageRange(e);
+ }
+ static pagination(e) {
+ return new Pagination(e);
+ }
+ static paginationOverride(e) {
+ return new PaginationOverride(e);
+ }
+ static part(e) {
+ return new Part(e);
+ }
+ static pcl(e) {
+ return new Pcl(e);
+ }
+ static pdf(e) {
+ return new Pdf(e);
+ }
+ static pdfa(e) {
+ return new Pdfa(e);
+ }
+ static permissions(e) {
+ return new Permissions(e);
+ }
+ static pickTrayByPDFSize(e) {
+ return new PickTrayByPDFSize(e);
+ }
+ static picture(e) {
+ return new Picture(e);
+ }
+ static plaintextMetadata(e) {
+ return new PlaintextMetadata(e);
+ }
+ static presence(e) {
+ return new Presence(e);
+ }
+ static present(e) {
+ return new Present(e);
+ }
+ static print(e) {
+ return new Print(e);
+ }
+ static printHighQuality(e) {
+ return new PrintHighQuality(e);
+ }
+ static printScaling(e) {
+ return new PrintScaling(e);
+ }
+ static printerName(e) {
+ return new PrinterName(e);
+ }
+ static producer(e) {
+ return new Producer(e);
+ }
+ static ps(e) {
+ return new Ps(e);
+ }
+ static range(e) {
+ return new Range(e);
+ }
+ static record(e) {
+ return new Record(e);
+ }
+ static relevant(e) {
+ return new Relevant(e);
+ }
+ static rename(e) {
+ return new Rename(e);
+ }
+ static renderPolicy(e) {
+ return new RenderPolicy(e);
+ }
+ static runScripts(e) {
+ return new RunScripts(e);
+ }
+ static script(e) {
+ return new Script(e);
+ }
+ static scriptModel(e) {
+ return new ScriptModel(e);
+ }
+ static severity(e) {
+ return new Severity(e);
+ }
+ static silentPrint(e) {
+ return new SilentPrint(e);
+ }
+ static staple(e) {
+ return new Staple(e);
+ }
+ static startNode(e) {
+ return new StartNode(e);
+ }
+ static startPage(e) {
+ return new StartPage(e);
+ }
+ static submitFormat(e) {
+ return new SubmitFormat(e);
+ }
+ static submitUrl(e) {
+ return new SubmitUrl(e);
+ }
+ static subsetBelow(e) {
+ return new SubsetBelow(e);
+ }
+ static suppressBanner(e) {
+ return new SuppressBanner(e);
+ }
+ static tagged(e) {
+ return new Tagged(e);
+ }
+ static template(e) {
+ return new Template(e);
+ }
+ static templateCache(e) {
+ return new TemplateCache(e);
+ }
+ static threshold(e) {
+ return new Threshold(e);
+ }
+ static to(e) {
+ return new To(e);
+ }
+ static trace(e) {
+ return new Trace(e);
+ }
+ static transform(e) {
+ return new Transform(e);
+ }
+ static type(e) {
+ return new Type(e);
+ }
+ static uri(e) {
+ return new Uri(e);
+ }
+ static validate(e) {
+ return new Validate(e);
+ }
+ static validateApprovalSignatures(e) {
+ return new ValidateApprovalSignatures(e);
+ }
+ static validationMessaging(e) {
+ return new ValidationMessaging(e);
+ }
+ static version(e) {
+ return new Version(e);
+ }
+ static versionControl(e) {
+ return new VersionControl(e);
+ }
+ static viewerPreferences(e) {
+ return new ViewerPreferences(e);
+ }
+ static webClient(e) {
+ return new WebClient(e);
+ }
+ static whitespace(e) {
+ return new Whitespace(e);
+ }
+ static window(e) {
+ return new Window(e);
+ }
+ static xdc(e) {
+ return new Xdc(e);
+ }
+ static xdp(e) {
+ return new Xdp(e);
+ }
+ static xsl(e) {
+ return new Xsl(e);
+ }
+ static zpl(e) {
+ return new Zpl(e);
+ }
+ }
+ t.ConfigNamespace = ConfigNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.ConnectionSetNamespace = void 0;
+ var r = a(79),
+ n = a(77);
+ const i = r.NamespaceIds.connectionSet.id;
+ class ConnectionSet extends n.XFAObject {
+ constructor(e) {
+ super(i, 'connectionSet', !0);
+ this.wsdlConnection = new n.XFAObjectArray();
+ this.xmlConnection = new n.XFAObjectArray();
+ this.xsdConnection = new n.XFAObjectArray();
+ }
+ }
+ class EffectiveInputPolicy extends n.XFAObject {
+ constructor(e) {
+ super(i, 'effectiveInputPolicy');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class EffectiveOutputPolicy extends n.XFAObject {
+ constructor(e) {
+ super(i, 'effectiveOutputPolicy');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Operation extends n.StringObject {
+ constructor(e) {
+ super(i, 'operation');
+ this.id = e.id || '';
+ this.input = e.input || '';
+ this.name = e.name || '';
+ this.output = e.output || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class RootElement extends n.StringObject {
+ constructor(e) {
+ super(i, 'rootElement');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class SoapAction extends n.StringObject {
+ constructor(e) {
+ super(i, 'soapAction');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class SoapAddress extends n.StringObject {
+ constructor(e) {
+ super(i, 'soapAddress');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class Uri extends n.StringObject {
+ constructor(e) {
+ super(i, 'uri');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class WsdlAddress extends n.StringObject {
+ constructor(e) {
+ super(i, 'wsdlAddress');
+ this.id = e.id || '';
+ this.name = e.name || '';
+ this.use = e.use || '';
+ this.usehref = e.usehref || '';
+ }
+ }
+ class WsdlConnection extends n.XFAObject {
+ constructor(e) {
+ super(i, 'wsdlConnection', !0);
+ this.dataDescription = e.dataDescription || '';
+ this.name = e.name || '';
+ this.effectiveInputPolicy = null;
+ this.effectiveOutputPolicy = null;
+ this.operation = null;
+ this.soapAction = null;
+ this.soapAddress = null;
+ this.wsdlAddress = null;
+ }
+ }
+ class XmlConnection extends n.XFAObject {
+ constructor(e) {
+ super(i, 'xmlConnection', !0);
+ this.dataDescription = e.dataDescription || '';
+ this.name = e.name || '';
+ this.uri = null;
+ }
+ }
+ class XsdConnection extends n.XFAObject {
+ constructor(e) {
+ super(i, 'xsdConnection', !0);
+ this.dataDescription = e.dataDescription || '';
+ this.name = e.name || '';
+ this.rootElement = null;
+ this.uri = null;
+ }
+ }
+ class ConnectionSetNamespace {
+ static [r.$buildXFAObject](e, t) {
+ if (ConnectionSetNamespace.hasOwnProperty(e)) return ConnectionSetNamespace[e](t);
+ }
+ static connectionSet(e) {
+ return new ConnectionSet(e);
+ }
+ static effectiveInputPolicy(e) {
+ return new EffectiveInputPolicy(e);
+ }
+ static effectiveOutputPolicy(e) {
+ return new EffectiveOutputPolicy(e);
+ }
+ static operation(e) {
+ return new Operation(e);
+ }
+ static rootElement(e) {
+ return new RootElement(e);
+ }
+ static soapAction(e) {
+ return new SoapAction(e);
+ }
+ static soapAddress(e) {
+ return new SoapAddress(e);
+ }
+ static uri(e) {
+ return new Uri(e);
+ }
+ static wsdlAddress(e) {
+ return new WsdlAddress(e);
+ }
+ static wsdlConnection(e) {
+ return new WsdlConnection(e);
+ }
+ static xmlConnection(e) {
+ return new XmlConnection(e);
+ }
+ static xsdConnection(e) {
+ return new XsdConnection(e);
+ }
+ }
+ t.ConnectionSetNamespace = ConnectionSetNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.DatasetsNamespace = void 0;
+ var r = a(77),
+ n = a(79);
+ const i = n.NamespaceIds.datasets.id;
+ class Data extends r.XmlObject {
+ constructor(e) {
+ super(i, 'data', e);
+ }
+ [r.$isNsAgnostic]() {
+ return !0;
+ }
+ }
+ class Datasets extends r.XFAObject {
+ constructor(e) {
+ super(i, 'datasets', !0);
+ this.data = null;
+ this.Signature = null;
+ }
+ [r.$onChild](e) {
+ const t = e[r.$nodeName];
+ (('data' === t && e[r.$namespaceId] === i) ||
+ ('Signature' === t && e[r.$namespaceId] === n.NamespaceIds.signature.id)) &&
+ (this[t] = e);
+ this[r.$appendChild](e);
+ }
+ }
+ class DatasetsNamespace {
+ static [n.$buildXFAObject](e, t) {
+ if (DatasetsNamespace.hasOwnProperty(e)) return DatasetsNamespace[e](t);
+ }
+ static datasets(e) {
+ return new Datasets(e);
+ }
+ static data(e) {
+ return new Data(e);
+ }
+ }
+ t.DatasetsNamespace = DatasetsNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.LocaleSetNamespace = void 0;
+ var r = a(79),
+ n = a(77),
+ i = a(78);
+ const s = r.NamespaceIds.localeSet.id;
+ class CalendarSymbols extends n.XFAObject {
+ constructor(e) {
+ super(s, 'calendarSymbols', !0);
+ this.name = 'gregorian';
+ this.dayNames = new n.XFAObjectArray(2);
+ this.eraNames = null;
+ this.meridiemNames = null;
+ this.monthNames = new n.XFAObjectArray(2);
+ }
+ }
+ class CurrencySymbol extends n.StringObject {
+ constructor(e) {
+ super(s, 'currencySymbol');
+ this.name = (0, i.getStringOption)(e.name, ['symbol', 'isoname', 'decimal']);
+ }
+ }
+ class CurrencySymbols extends n.XFAObject {
+ constructor(e) {
+ super(s, 'currencySymbols', !0);
+ this.currencySymbol = new n.XFAObjectArray(3);
+ }
+ }
+ class DatePattern extends n.StringObject {
+ constructor(e) {
+ super(s, 'datePattern');
+ this.name = (0, i.getStringOption)(e.name, ['full', 'long', 'med', 'short']);
+ }
+ }
+ class DatePatterns extends n.XFAObject {
+ constructor(e) {
+ super(s, 'datePatterns', !0);
+ this.datePattern = new n.XFAObjectArray(4);
+ }
+ }
+ class DateTimeSymbols extends n.ContentObject {
+ constructor(e) {
+ super(s, 'dateTimeSymbols');
+ }
+ }
+ class Day extends n.StringObject {
+ constructor(e) {
+ super(s, 'day');
+ }
+ }
+ class DayNames extends n.XFAObject {
+ constructor(e) {
+ super(s, 'dayNames', !0);
+ this.abbr = (0, i.getInteger)({data: e.abbr, defaultValue: 0, validate: (e) => 1 === e});
+ this.day = new n.XFAObjectArray(7);
+ }
+ }
+ class Era extends n.StringObject {
+ constructor(e) {
+ super(s, 'era');
+ }
+ }
+ class EraNames extends n.XFAObject {
+ constructor(e) {
+ super(s, 'eraNames', !0);
+ this.era = new n.XFAObjectArray(2);
+ }
+ }
+ class Locale extends n.XFAObject {
+ constructor(e) {
+ super(s, 'locale', !0);
+ this.desc = e.desc || '';
+ this.name = 'isoname';
+ this.calendarSymbols = null;
+ this.currencySymbols = null;
+ this.datePatterns = null;
+ this.dateTimeSymbols = null;
+ this.numberPatterns = null;
+ this.numberSymbols = null;
+ this.timePatterns = null;
+ this.typeFaces = null;
+ }
+ }
+ class LocaleSet extends n.XFAObject {
+ constructor(e) {
+ super(s, 'localeSet', !0);
+ this.locale = new n.XFAObjectArray();
+ }
+ }
+ class Meridiem extends n.StringObject {
+ constructor(e) {
+ super(s, 'meridiem');
+ }
+ }
+ class MeridiemNames extends n.XFAObject {
+ constructor(e) {
+ super(s, 'meridiemNames', !0);
+ this.meridiem = new n.XFAObjectArray(2);
+ }
+ }
+ class Month extends n.StringObject {
+ constructor(e) {
+ super(s, 'month');
+ }
+ }
+ class MonthNames extends n.XFAObject {
+ constructor(e) {
+ super(s, 'monthNames', !0);
+ this.abbr = (0, i.getInteger)({data: e.abbr, defaultValue: 0, validate: (e) => 1 === e});
+ this.month = new n.XFAObjectArray(12);
+ }
+ }
+ class NumberPattern extends n.StringObject {
+ constructor(e) {
+ super(s, 'numberPattern');
+ this.name = (0, i.getStringOption)(e.name, ['full', 'long', 'med', 'short']);
+ }
+ }
+ class NumberPatterns extends n.XFAObject {
+ constructor(e) {
+ super(s, 'numberPatterns', !0);
+ this.numberPattern = new n.XFAObjectArray(4);
+ }
+ }
+ class NumberSymbol extends n.StringObject {
+ constructor(e) {
+ super(s, 'numberSymbol');
+ this.name = (0, i.getStringOption)(e.name, ['decimal', 'grouping', 'percent', 'minus', 'zero']);
+ }
+ }
+ class NumberSymbols extends n.XFAObject {
+ constructor(e) {
+ super(s, 'numberSymbols', !0);
+ this.numberSymbol = new n.XFAObjectArray(5);
+ }
+ }
+ class TimePattern extends n.StringObject {
+ constructor(e) {
+ super(s, 'timePattern');
+ this.name = (0, i.getStringOption)(e.name, ['full', 'long', 'med', 'short']);
+ }
+ }
+ class TimePatterns extends n.XFAObject {
+ constructor(e) {
+ super(s, 'timePatterns', !0);
+ this.timePattern = new n.XFAObjectArray(4);
+ }
+ }
+ class TypeFace extends n.XFAObject {
+ constructor(e) {
+ super(s, 'typeFace', !0);
+ this.name = '' | e.name;
+ }
+ }
+ class TypeFaces extends n.XFAObject {
+ constructor(e) {
+ super(s, 'typeFaces', !0);
+ this.typeFace = new n.XFAObjectArray();
+ }
+ }
+ class LocaleSetNamespace {
+ static [r.$buildXFAObject](e, t) {
+ if (LocaleSetNamespace.hasOwnProperty(e)) return LocaleSetNamespace[e](t);
+ }
+ static calendarSymbols(e) {
+ return new CalendarSymbols(e);
+ }
+ static currencySymbol(e) {
+ return new CurrencySymbol(e);
+ }
+ static currencySymbols(e) {
+ return new CurrencySymbols(e);
+ }
+ static datePattern(e) {
+ return new DatePattern(e);
+ }
+ static datePatterns(e) {
+ return new DatePatterns(e);
+ }
+ static dateTimeSymbols(e) {
+ return new DateTimeSymbols(e);
+ }
+ static day(e) {
+ return new Day(e);
+ }
+ static dayNames(e) {
+ return new DayNames(e);
+ }
+ static era(e) {
+ return new Era(e);
+ }
+ static eraNames(e) {
+ return new EraNames(e);
+ }
+ static locale(e) {
+ return new Locale(e);
+ }
+ static localeSet(e) {
+ return new LocaleSet(e);
+ }
+ static meridiem(e) {
+ return new Meridiem(e);
+ }
+ static meridiemNames(e) {
+ return new MeridiemNames(e);
+ }
+ static month(e) {
+ return new Month(e);
+ }
+ static monthNames(e) {
+ return new MonthNames(e);
+ }
+ static numberPattern(e) {
+ return new NumberPattern(e);
+ }
+ static numberPatterns(e) {
+ return new NumberPatterns(e);
+ }
+ static numberSymbol(e) {
+ return new NumberSymbol(e);
+ }
+ static numberSymbols(e) {
+ return new NumberSymbols(e);
+ }
+ static timePattern(e) {
+ return new TimePattern(e);
+ }
+ static timePatterns(e) {
+ return new TimePatterns(e);
+ }
+ static typeFace(e) {
+ return new TypeFace(e);
+ }
+ static typeFaces(e) {
+ return new TypeFaces(e);
+ }
+ }
+ t.LocaleSetNamespace = LocaleSetNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.SignatureNamespace = void 0;
+ var r = a(79),
+ n = a(77);
+ const i = r.NamespaceIds.signature.id;
+ class Signature extends n.XFAObject {
+ constructor(e) {
+ super(i, 'signature', !0);
+ }
+ }
+ class SignatureNamespace {
+ static [r.$buildXFAObject](e, t) {
+ if (SignatureNamespace.hasOwnProperty(e)) return SignatureNamespace[e](t);
+ }
+ static signature(e) {
+ return new Signature(e);
+ }
+ }
+ t.SignatureNamespace = SignatureNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.StylesheetNamespace = void 0;
+ var r = a(79),
+ n = a(77);
+ const i = r.NamespaceIds.stylesheet.id;
+ class Stylesheet extends n.XFAObject {
+ constructor(e) {
+ super(i, 'stylesheet', !0);
+ }
+ }
+ class StylesheetNamespace {
+ static [r.$buildXFAObject](e, t) {
+ if (StylesheetNamespace.hasOwnProperty(e)) return StylesheetNamespace[e](t);
+ }
+ static stylesheet(e) {
+ return new Stylesheet(e);
+ }
+ }
+ t.StylesheetNamespace = StylesheetNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.XdpNamespace = void 0;
+ var r = a(79),
+ n = a(77);
+ const i = r.NamespaceIds.xdp.id;
+ class Xdp extends n.XFAObject {
+ constructor(e) {
+ super(i, 'xdp', !0);
+ this.uuid = e.uuid || '';
+ this.timeStamp = e.timeStamp || '';
+ this.config = null;
+ this.connectionSet = null;
+ this.datasets = null;
+ this.localeSet = null;
+ this.stylesheet = new n.XFAObjectArray();
+ this.template = null;
+ }
+ [n.$onChildCheck](e) {
+ const t = r.NamespaceIds[e[n.$nodeName]];
+ return t && e[n.$namespaceId] === t.id;
+ }
+ }
+ class XdpNamespace {
+ static [r.$buildXFAObject](e, t) {
+ if (XdpNamespace.hasOwnProperty(e)) return XdpNamespace[e](t);
+ }
+ static xdp(e) {
+ return new Xdp(e);
+ }
+ }
+ t.XdpNamespace = XdpNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.XhtmlNamespace = void 0;
+ var r = a(77),
+ n = a(79),
+ i = a(84),
+ s = a(78);
+ const o = n.NamespaceIds.xhtml.id,
+ c = Symbol(),
+ l = new Set([
+ 'color',
+ 'font',
+ 'font-family',
+ 'font-size',
+ 'font-stretch',
+ 'font-style',
+ 'font-weight',
+ 'margin',
+ 'margin-bottom',
+ 'margin-left',
+ 'margin-right',
+ 'margin-top',
+ 'letter-spacing',
+ 'line-height',
+ 'orphans',
+ 'page-break-after',
+ 'page-break-before',
+ 'page-break-inside',
+ 'tab-interval',
+ 'tab-stop',
+ 'text-align',
+ 'text-decoration',
+ 'text-indent',
+ 'vertical-align',
+ 'widows',
+ 'kerning-mode',
+ 'xfa-font-horizontal-scale',
+ 'xfa-font-vertical-scale',
+ 'xfa-spacerun',
+ 'xfa-tab-stops',
+ ]),
+ h = new Map([
+ ['page-break-after', 'breakAfter'],
+ ['page-break-before', 'breakBefore'],
+ ['page-break-inside', 'breakInside'],
+ ['kerning-mode', (e) => ('none' === e ? 'none' : 'normal')],
+ ['xfa-font-horizontal-scale', (e) => `scaleX(${Math.max(0, Math.min(parseInt(e) / 100)).toFixed(2)})`],
+ ['xfa-font-vertical-scale', (e) => `scaleY(${Math.max(0, Math.min(parseInt(e) / 100)).toFixed(2)})`],
+ ['xfa-spacerun', ''],
+ ['xfa-tab-stops', ''],
+ [
+ 'font-size',
+ (e, t) => {
+ e = t.fontSize = (0, s.getMeasurement)(e);
+ return (0, i.measureToString)(0.99 * e);
+ },
+ ],
+ ['letter-spacing', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ['line-height', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ['margin', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ['margin-bottom', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ['margin-left', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ['margin-right', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ['margin-top', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ['text-indent', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ['font-family', (e) => e],
+ ['vertical-align', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
+ ]),
+ u = /\s+/g,
+ d = /[\r\n]+/g,
+ f = /\r\n?/g;
+ function mapStyle(e, t, a) {
+ const n = Object.create(null);
+ if (!e) return n;
+ const o = Object.create(null);
+ for (const [t, a] of e.split(';').map((e) => e.split(':', 2))) {
+ const e = h.get(t);
+ if ('' === e) continue;
+ let r = a;
+ e && (r = 'string' == typeof e ? e : e(a, o));
+ t.endsWith('scale')
+ ? n.transform
+ ? (n.transform = `${n[t]} ${r}`)
+ : (n.transform = r)
+ : (n[t.replaceAll(/-([a-zA-Z])/g, (e, t) => t.toUpperCase())] = r);
+ }
+ n.fontFamily &&
+ (0, i.setFontFamily)(
+ {
+ typeface: n.fontFamily,
+ weight: n.fontWeight || 'normal',
+ posture: n.fontStyle || 'normal',
+ size: o.fontSize || 0,
+ },
+ t,
+ t[r.$globalData].fontFinder,
+ n
+ );
+ if (a && n.verticalAlign && '0px' !== n.verticalAlign && n.fontSize) {
+ const e = 0.583,
+ t = 0.333,
+ a = (0, s.getMeasurement)(n.fontSize);
+ n.fontSize = (0, i.measureToString)(a * e);
+ n.verticalAlign = (0, i.measureToString)(Math.sign((0, s.getMeasurement)(n.verticalAlign)) * a * t);
+ }
+ a && n.fontSize && (n.fontSize = `calc(${n.fontSize} * var(--scale-factor))`);
+ (0, i.fixTextIndent)(n);
+ return n;
+ }
+ const g = new Set(['body', 'html']);
+ class XhtmlObject extends r.XmlObject {
+ constructor(e, t) {
+ super(o, t);
+ this[c] = !1;
+ this.style = e.style || '';
+ }
+ [r.$clean](e) {
+ super[r.$clean](e);
+ this.style = (function checkStyle(e) {
+ return e.style
+ ? e.style
+ .trim()
+ .split(/\s*;\s*/)
+ .filter((e) => !!e)
+ .map((e) => e.split(/\s*:\s*/, 2))
+ .filter(([t, a]) => {
+ 'font-family' === t && e[r.$globalData].usedTypefaces.add(a);
+ return l.has(t);
+ })
+ .map((e) => e.join(':'))
+ .join(';')
+ : '';
+ })(this);
+ }
+ [r.$acceptWhitespace]() {
+ return !g.has(this[r.$nodeName]);
+ }
+ [r.$onText](e, t = !1) {
+ if (t) this[c] = !0;
+ else {
+ e = e.replace(d, '');
+ this.style.includes('xfa-spacerun:yes') || (e = e.replace(u, ' '));
+ }
+ e && (this[r.$content] += e);
+ }
+ [r.$pushGlyphs](e, t = !0) {
+ const a = Object.create(null),
+ n = {top: NaN, bottom: NaN, left: NaN, right: NaN};
+ let i = null;
+ for (const [e, t] of this.style.split(';').map((e) => e.split(':', 2)))
+ switch (e) {
+ case 'font-family':
+ a.typeface = (0, s.stripQuotes)(t);
+ break;
+ case 'font-size':
+ a.size = (0, s.getMeasurement)(t);
+ break;
+ case 'font-weight':
+ a.weight = t;
+ break;
+ case 'font-style':
+ a.posture = t;
+ break;
+ case 'letter-spacing':
+ a.letterSpacing = (0, s.getMeasurement)(t);
+ break;
+ case 'margin':
+ const e = t.split(/ \t/).map((e) => (0, s.getMeasurement)(e));
+ switch (e.length) {
+ case 1:
+ n.top = n.bottom = n.left = n.right = e[0];
+ break;
+ case 2:
+ n.top = n.bottom = e[0];
+ n.left = n.right = e[1];
+ break;
+ case 3:
+ n.top = e[0];
+ n.bottom = e[2];
+ n.left = n.right = e[1];
+ break;
+ case 4:
+ n.top = e[0];
+ n.left = e[1];
+ n.bottom = e[2];
+ n.right = e[3];
+ }
+ break;
+ case 'margin-top':
+ n.top = (0, s.getMeasurement)(t);
+ break;
+ case 'margin-bottom':
+ n.bottom = (0, s.getMeasurement)(t);
+ break;
+ case 'margin-left':
+ n.left = (0, s.getMeasurement)(t);
+ break;
+ case 'margin-right':
+ n.right = (0, s.getMeasurement)(t);
+ break;
+ case 'line-height':
+ i = (0, s.getMeasurement)(t);
+ }
+ e.pushData(a, n, i);
+ if (this[r.$content]) e.addString(this[r.$content]);
+ else
+ for (const t of this[r.$getChildren]())
+ '#text' !== t[r.$nodeName] ? t[r.$pushGlyphs](e) : e.addString(t[r.$content]);
+ t && e.popFont();
+ }
+ [r.$toHTML](e) {
+ const t = [];
+ this[r.$extra] = {children: t};
+ this[r.$childrenToHTML]({});
+ if (0 === t.length && !this[r.$content]) return s.HTMLResult.EMPTY;
+ let a;
+ a = this[c]
+ ? this[r.$content]
+ ? this[r.$content].replace(f, '\n')
+ : void 0
+ : this[r.$content] || void 0;
+ return s.HTMLResult.success({
+ name: this[r.$nodeName],
+ attributes: {href: this.href, style: mapStyle(this.style, this, this[c])},
+ children: t,
+ value: a,
+ });
+ }
+ }
+ class A extends XhtmlObject {
+ constructor(e) {
+ super(e, 'a');
+ this.href = (0, i.fixURL)(e.href) || '';
+ }
+ }
+ class B extends XhtmlObject {
+ constructor(e) {
+ super(e, 'b');
+ }
+ [r.$pushGlyphs](e) {
+ e.pushFont({weight: 'bold'});
+ super[r.$pushGlyphs](e);
+ e.popFont();
+ }
+ }
+ class Body extends XhtmlObject {
+ constructor(e) {
+ super(e, 'body');
+ }
+ [r.$toHTML](e) {
+ const t = super[r.$toHTML](e),
+ {html: a} = t;
+ if (!a) return s.HTMLResult.EMPTY;
+ a.name = 'div';
+ a.attributes.class = ['xfaRich'];
+ return t;
+ }
+ }
+ class Br extends XhtmlObject {
+ constructor(e) {
+ super(e, 'br');
+ }
+ [r.$text]() {
+ return '\n';
+ }
+ [r.$pushGlyphs](e) {
+ e.addString('\n');
+ }
+ [r.$toHTML](e) {
+ return s.HTMLResult.success({name: 'br'});
+ }
+ }
+ class Html extends XhtmlObject {
+ constructor(e) {
+ super(e, 'html');
+ }
+ [r.$toHTML](e) {
+ const t = [];
+ this[r.$extra] = {children: t};
+ this[r.$childrenToHTML]({});
+ if (0 === t.length)
+ return s.HTMLResult.success({
+ name: 'div',
+ attributes: {class: ['xfaRich'], style: {}},
+ value: this[r.$content] || '',
+ });
+ if (1 === t.length) {
+ const e = t[0];
+ if (e.attributes && e.attributes.class.includes('xfaRich')) return s.HTMLResult.success(e);
+ }
+ return s.HTMLResult.success({name: 'div', attributes: {class: ['xfaRich'], style: {}}, children: t});
+ }
+ }
+ class I extends XhtmlObject {
+ constructor(e) {
+ super(e, 'i');
+ }
+ [r.$pushGlyphs](e) {
+ e.pushFont({posture: 'italic'});
+ super[r.$pushGlyphs](e);
+ e.popFont();
+ }
+ }
+ class Li extends XhtmlObject {
+ constructor(e) {
+ super(e, 'li');
+ }
+ }
+ class Ol extends XhtmlObject {
+ constructor(e) {
+ super(e, 'ol');
+ }
+ }
+ class P extends XhtmlObject {
+ constructor(e) {
+ super(e, 'p');
+ }
+ [r.$pushGlyphs](e) {
+ super[r.$pushGlyphs](e, !1);
+ e.addString('\n');
+ e.addPara();
+ e.popFont();
+ }
+ [r.$text]() {
+ return this[r.$getParent]()[r.$getChildren]().at(-1) === this
+ ? super[r.$text]()
+ : super[r.$text]() + '\n';
+ }
+ }
+ class Span extends XhtmlObject {
+ constructor(e) {
+ super(e, 'span');
+ }
+ }
+ class Sub extends XhtmlObject {
+ constructor(e) {
+ super(e, 'sub');
+ }
+ }
+ class Sup extends XhtmlObject {
+ constructor(e) {
+ super(e, 'sup');
+ }
+ }
+ class Ul extends XhtmlObject {
+ constructor(e) {
+ super(e, 'ul');
+ }
+ }
+ class XhtmlNamespace {
+ static [n.$buildXFAObject](e, t) {
+ if (XhtmlNamespace.hasOwnProperty(e)) return XhtmlNamespace[e](t);
+ }
+ static a(e) {
+ return new A(e);
+ }
+ static b(e) {
+ return new B(e);
+ }
+ static body(e) {
+ return new Body(e);
+ }
+ static br(e) {
+ return new Br(e);
+ }
+ static html(e) {
+ return new Html(e);
+ }
+ static i(e) {
+ return new I(e);
+ }
+ static li(e) {
+ return new Li(e);
+ }
+ static ol(e) {
+ return new Ol(e);
+ }
+ static p(e) {
+ return new P(e);
+ }
+ static span(e) {
+ return new Span(e);
+ }
+ static sub(e) {
+ return new Sub(e);
+ }
+ static sup(e) {
+ return new Sup(e);
+ }
+ static ul(e) {
+ return new Ul(e);
+ }
+ }
+ t.XhtmlNamespace = XhtmlNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.UnknownNamespace = void 0;
+ var r = a(79),
+ n = a(77);
+ class UnknownNamespace {
+ constructor(e) {
+ this.namespaceId = e;
+ }
+ [r.$buildXFAObject](e, t) {
+ return new n.XmlObject(this.namespaceId, e, t);
+ }
+ }
+ t.UnknownNamespace = UnknownNamespace;
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.DatasetReader = void 0;
+ var r = a(2),
+ n = a(6),
+ i = a(66);
+ function decodeString(e) {
+ try {
+ return (0, r.stringToUTF8String)(e);
+ } catch (t) {
+ (0, r.warn)(`UTF-8 decoding failed: "${t}".`);
+ return e;
+ }
+ }
+ class DatasetXMLParser extends i.SimpleXMLParser {
+ constructor(e) {
+ super(e);
+ this.node = null;
+ }
+ onEndElement(e) {
+ const t = super.onEndElement(e);
+ if (t && 'xfa:datasets' === e) {
+ this.node = t;
+ throw new Error('Aborting DatasetXMLParser.');
+ }
+ }
+ }
+ t.DatasetReader = class DatasetReader {
+ constructor(e) {
+ if (e.datasets)
+ this.node = new i.SimpleXMLParser({hasAttributes: !0}).parseFromString(e.datasets).documentElement;
+ else {
+ const t = new DatasetXMLParser({hasAttributes: !0});
+ try {
+ t.parseFromString(e['xdp:xdp']);
+ } catch (e) {}
+ this.node = t.node;
+ }
+ }
+ getValue(e) {
+ if (!this.node || !e) return '';
+ const t = this.node.searchNode((0, n.parseXFAPath)(e), 0);
+ if (!t) return '';
+ const a = t.firstChild;
+ return a && 'value' === a.nodeName
+ ? t.children.map((e) => decodeString(e.textContent))
+ : decodeString(t.textContent);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.XRef = void 0;
+ var r = a(2),
+ n = a(5),
+ i = a(6),
+ s = a(17),
+ o = a(7),
+ c = a(67);
+ t.XRef = class XRef {
+ constructor(e, t) {
+ this.stream = e;
+ this.pdfManager = t;
+ this.entries = [];
+ this.xrefstms = Object.create(null);
+ this._cacheMap = new Map();
+ this._pendingRefs = new n.RefSet();
+ this.stats = new i.DocStats(t.msgHandler);
+ this._newRefNum = null;
+ }
+ getNewRef() {
+ null === this._newRefNum && (this._newRefNum = this.entries.length || 1);
+ return n.Ref.get(this._newRefNum++, 0);
+ }
+ resetNewRef() {
+ this._newRefNum = null;
+ }
+ setStartXRef(e) {
+ this.startXRefQueue = [e];
+ }
+ parse(e = !1) {
+ let t, a, s;
+ if (e) {
+ (0, r.warn)('Indexing all PDF objects');
+ t = this.indexObjects();
+ } else t = this.readXRef();
+ t.assignXref(this);
+ this.trailer = t;
+ try {
+ a = t.get('Encrypt');
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, r.warn)(`XRef.parse - Invalid "Encrypt" reference: "${e}".`);
+ }
+ if (a instanceof n.Dict) {
+ const e = t.get('ID'),
+ r = e && e.length ? e[0] : '';
+ a.suppressEncryption = !0;
+ this.encrypt = new c.CipherTransformFactory(a, r, this.pdfManager.password);
+ }
+ try {
+ s = t.get('Root');
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, r.warn)(`XRef.parse - Invalid "Root" reference: "${e}".`);
+ }
+ if (s instanceof n.Dict)
+ try {
+ if (s.get('Pages') instanceof n.Dict) {
+ this.root = s;
+ return;
+ }
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, r.warn)(`XRef.parse - Invalid "Pages" reference: "${e}".`);
+ }
+ if (!e) throw new i.XRefParseException();
+ throw new r.InvalidPDFException('Invalid Root reference.');
+ }
+ processXRefTable(e) {
+ 'tableState' in this ||
+ (this.tableState = {
+ entryNum: 0,
+ streamPos: e.lexer.stream.pos,
+ parserBuf1: e.buf1,
+ parserBuf2: e.buf2,
+ });
+ const t = this.readXRefTable(e);
+ if (!(0, n.isCmd)(t, 'trailer'))
+ throw new r.FormatError('Invalid XRef table: could not find trailer dictionary');
+ let a = e.getObj();
+ a instanceof n.Dict || !a.dict || (a = a.dict);
+ if (!(a instanceof n.Dict))
+ throw new r.FormatError('Invalid XRef table: could not parse trailer dictionary');
+ delete this.tableState;
+ return a;
+ }
+ readXRefTable(e) {
+ const t = e.lexer.stream,
+ a = this.tableState;
+ t.pos = a.streamPos;
+ e.buf1 = a.parserBuf1;
+ e.buf2 = a.parserBuf2;
+ let i;
+ for (;;) {
+ if (!('firstEntryNum' in a) || !('entryCount' in a)) {
+ if ((0, n.isCmd)((i = e.getObj()), 'trailer')) break;
+ a.firstEntryNum = i;
+ a.entryCount = e.getObj();
+ }
+ let s = a.firstEntryNum;
+ const o = a.entryCount;
+ if (!Number.isInteger(s) || !Number.isInteger(o))
+ throw new r.FormatError('Invalid XRef table: wrong types in subsection header');
+ for (let i = a.entryNum; i < o; i++) {
+ a.streamPos = t.pos;
+ a.entryNum = i;
+ a.parserBuf1 = e.buf1;
+ a.parserBuf2 = e.buf2;
+ const c = {};
+ c.offset = e.getObj();
+ c.gen = e.getObj();
+ const l = e.getObj();
+ if (l instanceof n.Cmd)
+ switch (l.cmd) {
+ case 'f':
+ c.free = !0;
+ break;
+ case 'n':
+ c.uncompressed = !0;
+ }
+ if (!Number.isInteger(c.offset) || !Number.isInteger(c.gen) || (!c.free && !c.uncompressed))
+ throw new r.FormatError(`Invalid entry in XRef subsection: ${s}, ${o}`);
+ 0 === i && c.free && 1 === s && (s = 0);
+ this.entries[i + s] || (this.entries[i + s] = c);
+ }
+ a.entryNum = 0;
+ a.streamPos = t.pos;
+ a.parserBuf1 = e.buf1;
+ a.parserBuf2 = e.buf2;
+ delete a.firstEntryNum;
+ delete a.entryCount;
+ }
+ if (this.entries[0] && !this.entries[0].free)
+ throw new r.FormatError('Invalid XRef table: unexpected first object');
+ return i;
+ }
+ processXRefStream(e) {
+ if (!('streamState' in this)) {
+ const t = e.dict,
+ a = t.get('W');
+ let r = t.get('Index');
+ r || (r = [0, t.get('Size')]);
+ this.streamState = {entryRanges: r, byteWidths: a, entryNum: 0, streamPos: e.pos};
+ }
+ this.readXRefStream(e);
+ delete this.streamState;
+ return e.dict;
+ }
+ readXRefStream(e) {
+ const t = this.streamState;
+ e.pos = t.streamPos;
+ const [a, n, i] = t.byteWidths,
+ s = t.entryRanges;
+ for (; s.length > 0; ) {
+ const [o, c] = s;
+ if (!Number.isInteger(o) || !Number.isInteger(c))
+ throw new r.FormatError(`Invalid XRef range fields: ${o}, ${c}`);
+ if (!Number.isInteger(a) || !Number.isInteger(n) || !Number.isInteger(i))
+ throw new r.FormatError(`Invalid XRef entry fields length: ${o}, ${c}`);
+ for (let s = t.entryNum; s < c; ++s) {
+ t.entryNum = s;
+ t.streamPos = e.pos;
+ let c = 0,
+ l = 0,
+ h = 0;
+ for (let t = 0; t < a; ++t) {
+ const t = e.getByte();
+ if (-1 === t) throw new r.FormatError("Invalid XRef byteWidths 'type'.");
+ c = (c << 8) | t;
+ }
+ 0 === a && (c = 1);
+ for (let t = 0; t < n; ++t) {
+ const t = e.getByte();
+ if (-1 === t) throw new r.FormatError("Invalid XRef byteWidths 'offset'.");
+ l = (l << 8) | t;
+ }
+ for (let t = 0; t < i; ++t) {
+ const t = e.getByte();
+ if (-1 === t) throw new r.FormatError("Invalid XRef byteWidths 'generation'.");
+ h = (h << 8) | t;
+ }
+ const u = {};
+ u.offset = l;
+ u.gen = h;
+ switch (c) {
+ case 0:
+ u.free = !0;
+ break;
+ case 1:
+ u.uncompressed = !0;
+ break;
+ case 2:
+ break;
+ default:
+ throw new r.FormatError(`Invalid XRef entry type: ${c}`);
+ }
+ this.entries[o + s] || (this.entries[o + s] = u);
+ }
+ t.entryNum = 0;
+ t.streamPos = e.pos;
+ s.splice(0, 2);
+ }
+ }
+ indexObjects() {
+ function readToken(e, t) {
+ let a = '',
+ r = e[t];
+ for (; 10 !== r && 13 !== r && 60 !== r && !(++t >= e.length); ) {
+ a += String.fromCharCode(r);
+ r = e[t];
+ }
+ return a;
+ }
+ function skipUntil(e, t, a) {
+ const r = a.length,
+ n = e.length;
+ let i = 0;
+ for (; t < n; ) {
+ let n = 0;
+ for (; n < r && e[t + n] === a[n]; ) ++n;
+ if (n >= r) break;
+ t++;
+ i++;
+ }
+ return i;
+ }
+ const e = /^(\d+)\s+(\d+)\s+obj\b/,
+ t = /\bendobj[\b\s]$/,
+ a = /\s+(\d+\s+\d+\s+obj[\b\s<])$/,
+ o = new Uint8Array([116, 114, 97, 105, 108, 101, 114]),
+ c = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]),
+ l = new Uint8Array([111, 98, 106]),
+ h = new Uint8Array([47, 88, 82, 101, 102]);
+ this.entries.length = 0;
+ this._cacheMap.clear();
+ const u = this.stream;
+ u.pos = 0;
+ const d = u.getBytes(),
+ f = d.length;
+ let g = u.start;
+ const p = [],
+ m = [];
+ for (; g < f; ) {
+ let n = d[g];
+ if (9 === n || 10 === n || 13 === n || 32 === n) {
+ ++g;
+ continue;
+ }
+ if (37 === n) {
+ do {
+ ++g;
+ if (g >= f) break;
+ n = d[g];
+ } while (10 !== n && 13 !== n);
+ continue;
+ }
+ const b = readToken(d, g);
+ let y;
+ if (b.startsWith('xref') && (4 === b.length || /\s/.test(b[4]))) {
+ g += skipUntil(d, g, o);
+ p.push(g);
+ g += skipUntil(d, g, c);
+ } else if ((y = e.exec(b))) {
+ const e = 0 | y[1],
+ n = 0 | y[2];
+ let o,
+ c = g + b.length,
+ f = !1;
+ if (this.entries[e]) {
+ if (this.entries[e].gen === n)
+ try {
+ new s.Parser({lexer: new s.Lexer(u.makeSubStream(c))}).getObj();
+ f = !0;
+ } catch (e) {
+ e instanceof i.ParserEOFException
+ ? (0, r.warn)(`indexObjects -- checking object (${b}): "${e}".`)
+ : (f = !0);
+ }
+ } else f = !0;
+ f && (this.entries[e] = {offset: g - u.start, gen: n, uncompressed: !0});
+ for (; c < d.length; ) {
+ const e = c + skipUntil(d, c, l) + 4;
+ o = e - g;
+ const n = Math.max(e - 25, c),
+ i = (0, r.bytesToString)(d.subarray(n, e));
+ if (t.test(i)) break;
+ {
+ const e = a.exec(i);
+ if (e && e[1]) {
+ (0, r.warn)(
+ 'indexObjects: Found new "obj" inside of another "obj", caused by missing "endobj" -- trying to recover.'
+ );
+ o -= e[1].length;
+ break;
+ }
+ }
+ c = e;
+ }
+ const p = d.subarray(g, g + o),
+ w = skipUntil(p, 0, h);
+ if (w < o && p[w + 5] < 64) {
+ m.push(g - u.start);
+ this.xrefstms[g - u.start] = 1;
+ }
+ g += o;
+ } else if (b.startsWith('trailer') && (7 === b.length || /\s/.test(b[7]))) {
+ p.push(g);
+ g += skipUntil(d, g, c);
+ } else g += b.length + 1;
+ }
+ for (let e = 0, t = m.length; e < t; ++e) {
+ this.startXRefQueue.push(m[e]);
+ this.readXRef(!0);
+ }
+ let b;
+ for (let e = 0, t = p.length; e < t; ++e) {
+ u.pos = p[e];
+ const t = new s.Parser({lexer: new s.Lexer(u), xref: this, allowStreams: !0, recoveryMode: !0}),
+ a = t.getObj();
+ if (!(0, n.isCmd)(a, 'trailer')) continue;
+ const r = t.getObj();
+ if (r instanceof n.Dict) {
+ try {
+ const e = r.get('Root');
+ if (!(e instanceof n.Dict)) continue;
+ const t = e.get('Pages');
+ if (!(t instanceof n.Dict)) continue;
+ const a = t.get('Count');
+ if (!Number.isInteger(a)) continue;
+ } catch (e) {
+ continue;
+ }
+ if (r.has('ID')) return r;
+ b = r;
+ }
+ }
+ if (b) return b;
+ if (this.topDict) return this.topDict;
+ throw new r.InvalidPDFException('Invalid PDF structure.');
+ }
+ readXRef(e = !1) {
+ const t = this.stream,
+ a = new Set();
+ try {
+ for (; this.startXRefQueue.length; ) {
+ const e = this.startXRefQueue[0];
+ if (a.has(e)) {
+ (0, r.warn)('readXRef - skipping XRef table since it was already parsed.');
+ this.startXRefQueue.shift();
+ continue;
+ }
+ a.add(e);
+ t.pos = e + t.start;
+ const i = new s.Parser({lexer: new s.Lexer(t), xref: this, allowStreams: !0});
+ let c,
+ l = i.getObj();
+ if ((0, n.isCmd)(l, 'xref')) {
+ c = this.processXRefTable(i);
+ this.topDict || (this.topDict = c);
+ l = c.get('XRefStm');
+ if (Number.isInteger(l)) {
+ const e = l;
+ if (!(e in this.xrefstms)) {
+ this.xrefstms[e] = 1;
+ this.startXRefQueue.push(e);
+ }
+ }
+ } else {
+ if (!Number.isInteger(l)) throw new r.FormatError('Invalid XRef stream header');
+ if (
+ !(
+ Number.isInteger(i.getObj()) &&
+ (0, n.isCmd)(i.getObj(), 'obj') &&
+ (l = i.getObj()) instanceof o.BaseStream
+ )
+ )
+ throw new r.FormatError('Invalid XRef stream');
+ c = this.processXRefStream(l);
+ this.topDict || (this.topDict = c);
+ if (!c) throw new r.FormatError('Failed to read XRef stream');
+ }
+ l = c.get('Prev');
+ Number.isInteger(l)
+ ? this.startXRefQueue.push(l)
+ : l instanceof n.Ref && this.startXRefQueue.push(l.num);
+ this.startXRefQueue.shift();
+ }
+ return this.topDict;
+ } catch (e) {
+ if (e instanceof i.MissingDataException) throw e;
+ (0, r.info)('(while reading XRef): ' + e);
+ this.startXRefQueue.shift();
+ }
+ if (!e) throw new i.XRefParseException();
+ }
+ getEntry(e) {
+ const t = this.entries[e];
+ return t && !t.free && t.offset ? t : null;
+ }
+ fetchIfRef(e, t = !1) {
+ return e instanceof n.Ref ? this.fetch(e, t) : e;
+ }
+ fetch(e, t = !1) {
+ if (!(e instanceof n.Ref)) throw new Error('ref object is not a reference');
+ const a = e.num,
+ i = this._cacheMap.get(a);
+ if (void 0 !== i) {
+ i instanceof n.Dict && !i.objId && (i.objId = e.toString());
+ return i;
+ }
+ let s = this.getEntry(a);
+ if (null === s) {
+ this._cacheMap.set(a, s);
+ return s;
+ }
+ if (this._pendingRefs.has(e)) {
+ this._pendingRefs.remove(e);
+ (0, r.warn)(`Ignoring circular reference: ${e}.`);
+ return n.CIRCULAR_REF;
+ }
+ this._pendingRefs.put(e);
+ try {
+ s = s.uncompressed ? this.fetchUncompressed(e, s, t) : this.fetchCompressed(e, s, t);
+ this._pendingRefs.remove(e);
+ } catch (t) {
+ this._pendingRefs.remove(e);
+ throw t;
+ }
+ s instanceof n.Dict
+ ? (s.objId = e.toString())
+ : s instanceof o.BaseStream && (s.dict.objId = e.toString());
+ return s;
+ }
+ fetchUncompressed(e, t, a = !1) {
+ const r = e.gen;
+ let c = e.num;
+ if (t.gen !== r) throw new i.XRefEntryException(`Inconsistent generation in XRef: ${e}`);
+ const l = this.stream.makeSubStream(t.offset + this.stream.start),
+ h = new s.Parser({lexer: new s.Lexer(l), xref: this, allowStreams: !0}),
+ u = h.getObj(),
+ d = h.getObj(),
+ f = h.getObj();
+ if (u !== c || d !== r || !(f instanceof n.Cmd))
+ throw new i.XRefEntryException(`Bad (uncompressed) XRef entry: ${e}`);
+ if ('obj' !== f.cmd) {
+ if (f.cmd.startsWith('obj')) {
+ c = parseInt(f.cmd.substring(3), 10);
+ if (!Number.isNaN(c)) return c;
+ }
+ throw new i.XRefEntryException(`Bad (uncompressed) XRef entry: ${e}`);
+ }
+ (t = this.encrypt && !a ? h.getObj(this.encrypt.createCipherTransform(c, r)) : h.getObj()) instanceof
+ o.BaseStream || this._cacheMap.set(c, t);
+ return t;
+ }
+ fetchCompressed(e, t, a = !1) {
+ const c = t.offset,
+ l = this.fetch(n.Ref.get(c, 0));
+ if (!(l instanceof o.BaseStream)) throw new r.FormatError('bad ObjStm stream');
+ const h = l.dict.get('First'),
+ u = l.dict.get('N');
+ if (!Number.isInteger(h) || !Number.isInteger(u))
+ throw new r.FormatError('invalid first and n parameters for ObjStm stream');
+ let d = new s.Parser({lexer: new s.Lexer(l), xref: this, allowStreams: !0});
+ const f = new Array(u),
+ g = new Array(u);
+ for (let e = 0; e < u; ++e) {
+ const t = d.getObj();
+ if (!Number.isInteger(t)) throw new r.FormatError(`invalid object number in the ObjStm stream: ${t}`);
+ const a = d.getObj();
+ if (!Number.isInteger(a)) throw new r.FormatError(`invalid object offset in the ObjStm stream: ${a}`);
+ f[e] = t;
+ g[e] = a;
+ }
+ const p = (l.start || 0) + h,
+ m = new Array(u);
+ for (let e = 0; e < u; ++e) {
+ const t = e < u - 1 ? g[e + 1] - g[e] : void 0;
+ if (t < 0) throw new r.FormatError('Invalid offset in the ObjStm stream.');
+ d = new s.Parser({
+ lexer: new s.Lexer(l.makeSubStream(p + g[e], t, l.dict)),
+ xref: this,
+ allowStreams: !0,
+ });
+ const a = d.getObj();
+ m[e] = a;
+ if (a instanceof o.BaseStream) continue;
+ const n = f[e],
+ i = this.entries[n];
+ i && i.offset === c && i.gen === e && this._cacheMap.set(n, a);
+ }
+ if (void 0 === (t = m[t.gen])) throw new i.XRefEntryException(`Bad (compressed) XRef entry: ${e}`);
+ return t;
+ }
+ async fetchIfRefAsync(e, t) {
+ return e instanceof n.Ref ? this.fetchAsync(e, t) : e;
+ }
+ async fetchAsync(e, t) {
+ try {
+ return this.fetch(e, t);
+ } catch (a) {
+ if (!(a instanceof i.MissingDataException)) throw a;
+ await this.pdfManager.requestRange(a.begin, a.end);
+ return this.fetchAsync(e, t);
+ }
+ }
+ getCatalogObj() {
+ return this.root;
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.MessageHandler = void 0;
+ var r = a(2);
+ const n = 1,
+ i = 2,
+ s = 1,
+ o = 2,
+ c = 3,
+ l = 4,
+ h = 5,
+ u = 6,
+ d = 7,
+ f = 8;
+ function wrapReason(e) {
+ e instanceof Error ||
+ ('object' == typeof e && null !== e) ||
+ (0, r.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.');
+ switch (e.name) {
+ case 'AbortException':
+ return new r.AbortException(e.message);
+ case 'MissingPDFException':
+ return new r.MissingPDFException(e.message);
+ case 'PasswordException':
+ return new r.PasswordException(e.message, e.code);
+ case 'UnexpectedResponseException':
+ return new r.UnexpectedResponseException(e.message, e.status);
+ case 'UnknownErrorException':
+ return new r.UnknownErrorException(e.message, e.details);
+ default:
+ return new r.UnknownErrorException(e.message, e.toString());
+ }
+ }
+ t.MessageHandler = class MessageHandler {
+ constructor(e, t, a) {
+ this.sourceName = e;
+ this.targetName = t;
+ this.comObj = a;
+ this.callbackId = 1;
+ this.streamId = 1;
+ this.streamSinks = Object.create(null);
+ this.streamControllers = Object.create(null);
+ this.callbackCapabilities = Object.create(null);
+ this.actionHandler = Object.create(null);
+ this._onComObjOnMessage = (e) => {
+ const t = e.data;
+ if (t.targetName !== this.sourceName) return;
+ if (t.stream) {
+ this._processStreamMessage(t);
+ return;
+ }
+ if (t.callback) {
+ const e = t.callbackId,
+ a = this.callbackCapabilities[e];
+ if (!a) throw new Error(`Cannot resolve callback ${e}`);
+ delete this.callbackCapabilities[e];
+ if (t.callback === n) a.resolve(t.data);
+ else {
+ if (t.callback !== i) throw new Error('Unexpected callback case');
+ a.reject(wrapReason(t.reason));
+ }
+ return;
+ }
+ const r = this.actionHandler[t.action];
+ if (!r) throw new Error(`Unknown action from worker: ${t.action}`);
+ if (t.callbackId) {
+ const e = this.sourceName,
+ s = t.sourceName;
+ new Promise(function (e) {
+ e(r(t.data));
+ }).then(
+ function (r) {
+ a.postMessage({sourceName: e, targetName: s, callback: n, callbackId: t.callbackId, data: r});
+ },
+ function (r) {
+ a.postMessage({
+ sourceName: e,
+ targetName: s,
+ callback: i,
+ callbackId: t.callbackId,
+ reason: wrapReason(r),
+ });
+ }
+ );
+ } else t.streamId ? this._createStreamSink(t) : r(t.data);
+ };
+ a.addEventListener('message', this._onComObjOnMessage);
+ }
+ on(e, t) {
+ const a = this.actionHandler;
+ if (a[e]) throw new Error(`There is already an actionName called "${e}"`);
+ a[e] = t;
+ }
+ send(e, t, a) {
+ this.comObj.postMessage(
+ {sourceName: this.sourceName, targetName: this.targetName, action: e, data: t},
+ a
+ );
+ }
+ sendWithPromise(e, t, a) {
+ const n = this.callbackId++,
+ i = (0, r.createPromiseCapability)();
+ this.callbackCapabilities[n] = i;
+ try {
+ this.comObj.postMessage(
+ {sourceName: this.sourceName, targetName: this.targetName, action: e, callbackId: n, data: t},
+ a
+ );
+ } catch (e) {
+ i.reject(e);
+ }
+ return i.promise;
+ }
+ sendWithStream(e, t, a, n) {
+ const i = this.streamId++,
+ o = this.sourceName,
+ c = this.targetName,
+ l = this.comObj;
+ return new ReadableStream(
+ {
+ start: (a) => {
+ const s = (0, r.createPromiseCapability)();
+ this.streamControllers[i] = {
+ controller: a,
+ startCall: s,
+ pullCall: null,
+ cancelCall: null,
+ isClosed: !1,
+ };
+ l.postMessage(
+ {sourceName: o, targetName: c, action: e, streamId: i, data: t, desiredSize: a.desiredSize},
+ n
+ );
+ return s.promise;
+ },
+ pull: (e) => {
+ const t = (0, r.createPromiseCapability)();
+ this.streamControllers[i].pullCall = t;
+ l.postMessage({sourceName: o, targetName: c, stream: u, streamId: i, desiredSize: e.desiredSize});
+ return t.promise;
+ },
+ cancel: (e) => {
+ (0, r.assert)(e instanceof Error, 'cancel must have a valid reason');
+ const t = (0, r.createPromiseCapability)();
+ this.streamControllers[i].cancelCall = t;
+ this.streamControllers[i].isClosed = !0;
+ l.postMessage({sourceName: o, targetName: c, stream: s, streamId: i, reason: wrapReason(e)});
+ return t.promise;
+ },
+ },
+ a
+ );
+ }
+ _createStreamSink(e) {
+ const t = e.streamId,
+ a = this.sourceName,
+ n = e.sourceName,
+ i = this.comObj,
+ s = this,
+ o = this.actionHandler[e.action],
+ u = {
+ enqueue(e, s = 1, o) {
+ if (this.isCancelled) return;
+ const c = this.desiredSize;
+ this.desiredSize -= s;
+ if (c > 0 && this.desiredSize <= 0) {
+ this.sinkCapability = (0, r.createPromiseCapability)();
+ this.ready = this.sinkCapability.promise;
+ }
+ i.postMessage({sourceName: a, targetName: n, stream: l, streamId: t, chunk: e}, o);
+ },
+ close() {
+ if (!this.isCancelled) {
+ this.isCancelled = !0;
+ i.postMessage({sourceName: a, targetName: n, stream: c, streamId: t});
+ delete s.streamSinks[t];
+ }
+ },
+ error(e) {
+ (0, r.assert)(e instanceof Error, 'error must have a valid reason');
+ if (!this.isCancelled) {
+ this.isCancelled = !0;
+ i.postMessage({sourceName: a, targetName: n, stream: h, streamId: t, reason: wrapReason(e)});
+ }
+ },
+ sinkCapability: (0, r.createPromiseCapability)(),
+ onPull: null,
+ onCancel: null,
+ isCancelled: !1,
+ desiredSize: e.desiredSize,
+ ready: null,
+ };
+ u.sinkCapability.resolve();
+ u.ready = u.sinkCapability.promise;
+ this.streamSinks[t] = u;
+ new Promise(function (t) {
+ t(o(e.data, u));
+ }).then(
+ function () {
+ i.postMessage({sourceName: a, targetName: n, stream: f, streamId: t, success: !0});
+ },
+ function (e) {
+ i.postMessage({sourceName: a, targetName: n, stream: f, streamId: t, reason: wrapReason(e)});
+ }
+ );
+ }
+ _processStreamMessage(e) {
+ const t = e.streamId,
+ a = this.sourceName,
+ n = e.sourceName,
+ i = this.comObj,
+ g = this.streamControllers[t],
+ p = this.streamSinks[t];
+ switch (e.stream) {
+ case f:
+ e.success ? g.startCall.resolve() : g.startCall.reject(wrapReason(e.reason));
+ break;
+ case d:
+ e.success ? g.pullCall.resolve() : g.pullCall.reject(wrapReason(e.reason));
+ break;
+ case u:
+ if (!p) {
+ i.postMessage({sourceName: a, targetName: n, stream: d, streamId: t, success: !0});
+ break;
+ }
+ p.desiredSize <= 0 && e.desiredSize > 0 && p.sinkCapability.resolve();
+ p.desiredSize = e.desiredSize;
+ new Promise(function (e) {
+ e(p.onPull && p.onPull());
+ }).then(
+ function () {
+ i.postMessage({sourceName: a, targetName: n, stream: d, streamId: t, success: !0});
+ },
+ function (e) {
+ i.postMessage({sourceName: a, targetName: n, stream: d, streamId: t, reason: wrapReason(e)});
+ }
+ );
+ break;
+ case l:
+ (0, r.assert)(g, 'enqueue should have stream controller');
+ if (g.isClosed) break;
+ g.controller.enqueue(e.chunk);
+ break;
+ case c:
+ (0, r.assert)(g, 'close should have stream controller');
+ if (g.isClosed) break;
+ g.isClosed = !0;
+ g.controller.close();
+ this._deleteStreamController(g, t);
+ break;
+ case h:
+ (0, r.assert)(g, 'error should have stream controller');
+ g.controller.error(wrapReason(e.reason));
+ this._deleteStreamController(g, t);
+ break;
+ case o:
+ e.success ? g.cancelCall.resolve() : g.cancelCall.reject(wrapReason(e.reason));
+ this._deleteStreamController(g, t);
+ break;
+ case s:
+ if (!p) break;
+ new Promise(function (t) {
+ t(p.onCancel && p.onCancel(wrapReason(e.reason)));
+ }).then(
+ function () {
+ i.postMessage({sourceName: a, targetName: n, stream: o, streamId: t, success: !0});
+ },
+ function (e) {
+ i.postMessage({sourceName: a, targetName: n, stream: o, streamId: t, reason: wrapReason(e)});
+ }
+ );
+ p.sinkCapability.reject(wrapReason(e.reason));
+ p.isCancelled = !0;
+ delete this.streamSinks[t];
+ break;
+ default:
+ throw new Error('Unexpected stream case');
+ }
+ }
+ async _deleteStreamController(e, t) {
+ await Promise.allSettled([
+ e.startCall && e.startCall.promise,
+ e.pullCall && e.pullCall.promise,
+ e.cancelCall && e.cancelCall.promise,
+ ]);
+ delete this.streamControllers[t];
+ }
+ destroy() {
+ this.comObj.removeEventListener('message', this._onComObjOnMessage);
+ }
+ };
+ },
+ (e, t, a) => {
+ Object.defineProperty(t, '__esModule', {value: !0});
+ t.PDFWorkerStream = void 0;
+ var r = a(2);
+ t.PDFWorkerStream = class PDFWorkerStream {
+ constructor(e) {
+ this._msgHandler = e;
+ this._contentLength = null;
+ this._fullRequestReader = null;
+ this._rangeRequestReaders = [];
+ }
+ getFullReader() {
+ (0, r.assert)(!this._fullRequestReader, 'PDFWorkerStream.getFullReader can only be called once.');
+ this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);
+ return this._fullRequestReader;
+ }
+ getRangeReader(e, t) {
+ const a = new PDFWorkerStreamRangeReader(e, t, this._msgHandler);
+ this._rangeRequestReaders.push(a);
+ return a;
+ }
+ cancelAllRequests(e) {
+ this._fullRequestReader && this._fullRequestReader.cancel(e);
+ for (const t of this._rangeRequestReaders.slice(0)) t.cancel(e);
+ }
+ };
+ class PDFWorkerStreamReader {
+ constructor(e) {
+ this._msgHandler = e;
+ this.onProgress = null;
+ this._contentLength = null;
+ this._isRangeSupported = !1;
+ this._isStreamingSupported = !1;
+ const t = this._msgHandler.sendWithStream('GetReader');
+ this._reader = t.getReader();
+ this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then((e) => {
+ this._isStreamingSupported = e.isStreamingSupported;
+ this._isRangeSupported = e.isRangeSupported;
+ this._contentLength = e.contentLength;
+ });
+ }
+ get headersReady() {
+ return this._headersReady;
+ }
+ get contentLength() {
+ return this._contentLength;
+ }
+ get isStreamingSupported() {
+ return this._isStreamingSupported;
+ }
+ get isRangeSupported() {
+ return this._isRangeSupported;
+ }
+ async read() {
+ const {value: e, done: t} = await this._reader.read();
+ return t ? {value: void 0, done: !0} : {value: e.buffer, done: !1};
+ }
+ cancel(e) {
+ this._reader.cancel(e);
+ }
+ }
+ class PDFWorkerStreamRangeReader {
+ constructor(e, t, a) {
+ this._msgHandler = a;
+ this.onProgress = null;
+ const r = this._msgHandler.sendWithStream('GetRangeReader', {begin: e, end: t});
+ this._reader = r.getReader();
+ }
+ get isStreamingSupported() {
+ return !1;
+ }
+ async read() {
+ const {value: e, done: t} = await this._reader.read();
+ return t ? {value: void 0, done: !0} : {value: e.buffer, done: !1};
+ }
+ cancel(e) {
+ this._reader.cancel(e);
+ }
+ }
+ },
+ ],
+ t = {};
+ function __w_pdfjs_require__(a) {
+ var r = t[a];
+ if (void 0 !== r) return r.exports;
+ var n = (t[a] = {exports: {}});
+ e[a](n, n.exports, __w_pdfjs_require__);
+ return n.exports;
+ }
+ __w_pdfjs_require__.d = (e, t) => {
+ for (var a in t)
+ __w_pdfjs_require__.o(t, a) &&
+ !__w_pdfjs_require__.o(e, a) &&
+ Object.defineProperty(e, a, {enumerable: !0, get: t[a]});
+ };
+ __w_pdfjs_require__.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t);
+ __w_pdfjs_require__.r = (e) => {
+ 'undefined' != typeof Symbol &&
+ Symbol.toStringTag &&
+ Object.defineProperty(e, Symbol.toStringTag, {value: 'Module'});
+ Object.defineProperty(e, '__esModule', {value: !0});
+ };
+ var a = {};
+ (() => {
+ var e = a;
+ Object.defineProperty(e, '__esModule', {value: !0});
+ Object.defineProperty(e, 'WorkerMessageHandler', {
+ enumerable: !0,
+ get: function () {
+ return t.WorkerMessageHandler;
+ },
+ });
+ var t = __w_pdfjs_require__(1);
+ })();
+ return a;
+ })()
+);
diff --git a/src/App.tsx b/src/App.tsx
index d1ff2874..9897f884 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -23,7 +23,10 @@ import {MUILocalization} from 'components/shared/MUILocalization';
import AuthProvider from './components/AuthProvider';
import BaseDataContext from 'context/BaseDataContext';
-import {ArticleDataProvider} from 'context/ArticleDataContext';
+import {LocalizationProvider} from '@mui/x-date-pickers';
+import {AdapterDayjs} from '@mui/x-date-pickers/AdapterDayjs';
+import {SemanticSearchProvider} from 'context/SemanticSearchContext';
+
/**
* This is the root element of the React application. It divides the main screen area into the three main components.
* The top bar, the sidebar and the main content area.
@@ -38,26 +41,28 @@ export default function App(): JSX.Element {
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
index 45c29c2b..9b40b7c2 100644
--- a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
+++ b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
@@ -1,10 +1,15 @@
// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
// SPDX-License-Identifier: Apache-2.0
-import React from 'react';
-import {Dialog, DialogTitle, DialogContent, DialogContentText, IconButton, Typography, Box} from '@mui/material';
+import React, {useState} from 'react';
+import {Dialog, DialogTitle, DialogContent, IconButton, Typography, Box, Button, CircularProgress} from '@mui/material';
import CloseIcon from '@mui/icons-material/Close';
import {SearchResult} from 'types/semanticSearch';
+import {Document, Page, pdfjs} from 'react-pdf';
+import 'react-pdf/dist/Page/AnnotationLayer.css';
+import 'react-pdf/dist/Page/TextLayer.css';
+
+pdfjs.GlobalWorkerOptions.workerSrc = '/pdf.worker.min.mjs';
interface ArticleDialogProps {
open: boolean;
@@ -16,14 +21,31 @@ interface ArticleDialogProps {
* A dialog component to display the full content of a selected search result article.
*/
export default function ArticleDialog({open, onClose, article}: ArticleDialogProps): JSX.Element {
+ const [numPages, setNumPages] = useState(0);
+ const [pageNumber, setPageNumber] = useState(1);
+
if (!article) {
return <>>;
}
+ function onDocumentLoadSuccess({numPages: nextNumPages}: {numPages: number}) {
+ setNumPages(nextNumPages);
+ }
+
+ function goToNextPage() {
+ setPageNumber((prevPageNumber) => Math.min(prevPageNumber + 1, numPages));
+ }
+
+ function goToPreviousPage() {
+ setPageNumber((prevPageNumber) => Math.max(prevPageNumber - 1, 1));
+ }
+
return (
);
}
diff --git a/src/context/ArticleDataContext.tsx b/src/context/ArticleDataContext.tsx
deleted file mode 100644
index f02a32d6..00000000
--- a/src/context/ArticleDataContext.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
-// SPDX-License-Identifier: Apache-2.0
-
-import React, {createContext, useContext, useState, useMemo, useEffect, useCallback} from 'react';
-import {useLazySearchArticlesQuery} from 'store/services/articleApi';
-
-export interface Article {
- id: string;
- title: string;
- content: string;
- filename: string;
- file_path: string;
-}
-
-interface ArticleDataContextType {
- articles: Article[];
- isLoading: boolean;
- selectedArticle: Article | null;
- setSelectedArticle: (article: Article | null) => void;
- searchArticles: (query: string) => void;
- clearSearch: () => void;
-}
-
-const ArticleDataContext = createContext(undefined);
-
-interface ArticleDataProviderProps {
- children: React.ReactNode;
-}
-
-/**
- * This context is responsible for fetching and managing article data that is used
- * throughout the application, especially for displaying article content in dialogs or popovers.
- */
-export function ArticleDataProvider({children}: ArticleDataProviderProps) {
- const [triggerSearch, {data: searchResults, isLoading}] = useLazySearchArticlesQuery();
- const [articles, setArticles] = useState([]);
- const [selectedArticle, setSelectedArticle] = useState(null);
-
- useEffect(() => {
- if (searchResults) {
- const newArticles: Article[] = searchResults.results.map((item) => ({
- id: item.id.toString(),
- title: `${item.filename} (p. ${item.page_num})`,
- content: item.text_content,
- filename: item.filename,
- file_path: '', // Not available in new API
- }));
- setArticles(newArticles);
- }
- }, [searchResults]);
-
- const searchArticles = useCallback(
- (query: string) => {
- triggerSearch(query).catch((error) => {
- console.error('Failed to search articles:', error);
- });
- },
- [triggerSearch]
- );
-
- const clearSearch = useCallback(() => {
- setArticles([]);
- }, []);
-
- const value = useMemo(
- () => ({
- articles,
- isLoading,
- selectedArticle,
- setSelectedArticle,
- searchArticles,
- clearSearch,
- }),
- [articles, isLoading, selectedArticle, searchArticles, clearSearch]
- );
-
- return {children};
-}
-
-/**
- * Custom hook to easily access the Article data context.
- */
-export function useArticleData(): ArticleDataContextType {
- const context = useContext(ArticleDataContext);
- if (context === undefined) {
- throw new Error('useArticleData must be used within an ArticleDataProvider');
- }
- return context;
-}
diff --git a/src/store/services/articleApi.ts b/src/store/services/articleApi.ts
index 1c5c3797..770feb84 100644
--- a/src/store/services/articleApi.ts
+++ b/src/store/services/articleApi.ts
@@ -2,7 +2,6 @@
// SPDX-License-Identifier: Apache-2.0
import {createApi, fetchBaseQuery} from '@reduxjs/toolkit/query/react';
-import {RootState} from '..';
// Define types for the new API response
export interface ApiSearchResult {
diff --git a/test/components/Onboarding/InfoButton.test.tsx b/test/components/Onboarding/InfoButton.test.tsx
index a3348597..c4aa74b2 100644
--- a/test/components/Onboarding/InfoButton.test.tsx
+++ b/test/components/Onboarding/InfoButton.test.tsx
@@ -12,7 +12,6 @@ import {ThemeProvider} from '@mui/system';
import Theme from '@/util/Theme';
import {I18nextProvider} from 'react-i18next';
import i18n from 'util/i18nForTests';
-import {ArticleDataProvider} from '../../../src/context/ArticleDataContext';
describe('InfoButton', () => {
const renderComponent = () => {
@@ -20,9 +19,7 @@ describe('InfoButton', () => {
-
-
-
+
diff --git a/test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx b/test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx
index 68fd8376..bb06f8bb 100644
--- a/test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx
+++ b/test/components/TopBar/PopUps/PrivacyPolicyDialog.test.tsx
@@ -11,7 +11,6 @@ import {I18nextProvider} from 'react-i18next';
import ApplicationMenu from '@/components/TopBar/ApplicationMenu';
import {Provider} from 'react-redux';
import {Store} from '@/store';
-import {ArticleDataProvider} from '../../../../src/context/ArticleDataContext';
describe('PrivacyPolicyDialog', () => {
test('PopUp', async () => {
@@ -19,9 +18,7 @@ describe('PrivacyPolicyDialog', () => {
-
-
-
+
diff --git a/test/components/TopBar/TopBar.test.tsx b/test/components/TopBar/TopBar.test.tsx
index 98c74c1e..0b7b0138 100644
--- a/test/components/TopBar/TopBar.test.tsx
+++ b/test/components/TopBar/TopBar.test.tsx
@@ -11,16 +11,13 @@ import TopBar from '@/components/TopBar';
import {I18nextProvider} from 'react-i18next';
import {Provider} from 'react-redux';
import {Store} from '@/store';
-import {ArticleDataProvider} from '../../../src/context/ArticleDataContext';
describe('TopBar', () => {
test('icon', () => {
render(
-
-
-
+
);
diff --git a/vite.config.mts b/vite.config.mts
index 6a04ec62..cc21dee4 100644
--- a/vite.config.mts
+++ b/vite.config.mts
@@ -6,6 +6,7 @@ import react from '@vitejs/plugin-react';
import tsconfigPaths from 'vite-tsconfig-paths';
import preload from 'unplugin-inject-preload/vite';
import eslintPlugin from '@nabla/vite-plugin-eslint';
+import {viteStaticCopy} from 'vite-plugin-static-copy';
export default defineConfig(({mode}) => {
const env = loadEnv(mode, process.cwd(), '');
@@ -16,6 +17,14 @@ export default defineConfig(({mode}) => {
react(),
eslintPlugin(),
tsconfigPaths(),
+ viteStaticCopy({
+ targets: [
+ {
+ src: 'node_modules/pdfjs-dist/build/pdf.worker.min.mjs',
+ dest: '.',
+ },
+ ],
+ }),
preload({
files: [
{
From 4477955e15ecfdd0daf65076ef264c7c848e7ac4 Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Mon, 21 Jul 2025 15:37:37 +0200
Subject: [PATCH 08/19] fix: Add missing license file for pdf.js worker
---
public/pdf.worker.min.js.license | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 public/pdf.worker.min.js.license
diff --git a/public/pdf.worker.min.js.license b/public/pdf.worker.min.js.license
new file mode 100644
index 00000000..15470a1a
--- /dev/null
+++ b/public/pdf.worker.min.js.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: Copyright 2024 Mozilla and individual contributors
+SPDX-License-Identifier: Apache-2.0
\ No newline at end of file
From 403a99f66c580fa0d16568c538d9773b0caccc4f Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Wed, 23 Jul 2025 17:17:25 +0200
Subject: [PATCH 09/19] feat(semantic-search): Implement language-agnostic
pagination in ArticleDialog
---
locales/de-global.json5 | 5 +++++
locales/en-global.json5 | 5 +++++
.../SemanticSearch/ArticleDialog.tsx | 19 +++++++++++--------
.../SemanticSearchContainer.tsx | 11 ++++++++---
src/context/SemanticSearchContext.tsx | 3 ++-
src/store/services/articleApi.ts | 6 +++---
6 files changed, 34 insertions(+), 15 deletions(-)
diff --git a/locales/de-global.json5 b/locales/de-global.json5
index ae013174..55643943 100644
--- a/locales/de-global.json5
+++ b/locales/de-global.json5
@@ -165,6 +165,11 @@
high: 'Hohe Relevanz',
related: 'Verwandt',
},
+ pagination: {
+ previous: 'Zurück',
+ next: 'Weiter',
+ pageOf: 'Seite {{current}} von {{total}}',
+ },
},
language: 'Sprache',
legal: {
diff --git a/locales/en-global.json5 b/locales/en-global.json5
index 023dc502..f47c02cd 100644
--- a/locales/en-global.json5
+++ b/locales/en-global.json5
@@ -183,6 +183,11 @@
high: 'High Relevance',
related: 'Related',
},
+ pagination: {
+ previous: 'Previous',
+ next: 'Next',
+ pageOf: 'Page {{current}} of {{total}}',
+ },
},
language: 'Language',
legal: {
diff --git a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
index 9b40b7c2..ed691186 100644
--- a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
+++ b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
@@ -2,8 +2,10 @@
// SPDX-License-Identifier: Apache-2.0
import React, {useState} from 'react';
-import {Dialog, DialogTitle, DialogContent, IconButton, Typography, Box, Button, CircularProgress} from '@mui/material';
+import {Dialog, DialogTitle, DialogContent, IconButton, Typography, Box, CircularProgress} from '@mui/material';
import CloseIcon from '@mui/icons-material/Close';
+import ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew';
+import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
import {SearchResult} from 'types/semanticSearch';
import {Document, Page, pdfjs} from 'react-pdf';
import 'react-pdf/dist/Page/AnnotationLayer.css';
@@ -30,6 +32,7 @@ export default function ArticleDialog({open, onClose, article}: ArticleDialogPro
function onDocumentLoadSuccess({numPages: nextNumPages}: {numPages: number}) {
setNumPages(nextNumPages);
+ setPageNumber(1); // Reset to first page on new document load
}
function goToNextPage() {
@@ -70,15 +73,15 @@ export default function ArticleDialog({open, onClose, article}: ArticleDialogPro
-
+
+
+
- Page {pageNumber} of {numPages}
+ {pageNumber} / {numPages}
-
+ = numPages} aria-label='next page'>
+
+
);
diff --git a/src/components/OnboardingComponents/SemanticSearch/SemanticSearchContainer.tsx b/src/components/OnboardingComponents/SemanticSearch/SemanticSearchContainer.tsx
index 73f5f320..ad2ae16c 100644
--- a/src/components/OnboardingComponents/SemanticSearch/SemanticSearchContainer.tsx
+++ b/src/components/OnboardingComponents/SemanticSearch/SemanticSearchContainer.tsx
@@ -32,7 +32,10 @@ export default function SemanticSearchContainer(): JSX.Element {
];
const handleSearch = () => {
- performSearch(query);
+ // performSearch is now required and will not be undefined.
+ if (performSearch) {
+ performSearch(query);
+ }
};
const handleClear = () => {
@@ -42,7 +45,9 @@ export default function SemanticSearchContainer(): JSX.Element {
const handleSuggestionClick = (suggestion: string) => {
dispatch(setSemanticSearchQuery(suggestion));
- performSearch(suggestion);
+ if (performSearch) {
+ performSearch(suggestion);
+ }
};
const handleResultClick = (article: SearchResult) => {
@@ -89,7 +94,7 @@ export default function SemanticSearchContainer(): JSX.Element {
sx={{
width: '32px',
height: '32px',
- borderRadius: '4px', // Standard border radius
+ borderRadius: '4px',
backgroundColor: 'primary.main',
color: 'primary.contrastText',
'&:hover': {
diff --git a/src/context/SemanticSearchContext.tsx b/src/context/SemanticSearchContext.tsx
index d90b73f7..960ca2a6 100644
--- a/src/context/SemanticSearchContext.tsx
+++ b/src/context/SemanticSearchContext.tsx
@@ -6,6 +6,7 @@ import {useLazySearchArticlesQuery} from 'store/services/articleApi';
import {SearchResult, SemanticSearchContextType} from 'types/semanticSearch';
import {useAppDispatch, useAppSelector} from 'store/hooks';
import {setSemanticSearchStatus, resetSemanticSearch} from 'store/SemanticSearchSlice';
+import i18n from 'util/i18n';
const SemanticSearchContext = createContext(undefined);
@@ -30,7 +31,7 @@ export function SemanticSearchProvider({children}: SemanticSearchProviderProps)
}
dispatch(setSemanticSearchStatus('loading'));
- triggerSearch({searchQuery: query, token})
+ triggerSearch({searchQuery: query, lang: i18n.language, token})
.unwrap()
.then((apiResponse) => {
const lowerCaseQuery = query.toLowerCase();
diff --git a/src/store/services/articleApi.ts b/src/store/services/articleApi.ts
index 770feb84..e45f4796 100644
--- a/src/store/services/articleApi.ts
+++ b/src/store/services/articleApi.ts
@@ -27,10 +27,10 @@ export const articleApi = createApi({
baseUrl: `${import.meta.env.VITE_ARTICLE_API_URL || ''}`,
}),
endpoints: (build) => ({
- searchArticles: build.query({
- query: ({searchQuery, token}) => ({
+ searchArticles: build.query({
+ query: ({searchQuery, lang, token}) => ({
url: 'search',
- params: {query: searchQuery},
+ params: {query: searchQuery, lang: lang},
headers: token ? {Authorization: `Bearer ${token}`} : {},
}),
}),
From 146ed3b91f51d9f054c95e269936f92a0089db07 Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Fri, 25 Jul 2025 11:19:21 +0200
Subject: [PATCH 10/19] feat: Implement responsive zoom and UI enhancements in
ArticleDialog
---
.../SemanticSearch/ArticleDialog.tsx | 148 ++++++++++++++++--
.../SemanticSearch/SearchResultItem.tsx | 24 +--
test/setup.ts | 9 ++
3 files changed, 149 insertions(+), 32 deletions(-)
diff --git a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
index ed691186..85d1b47b 100644
--- a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
+++ b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
@@ -1,11 +1,22 @@
// SPDX-FileCopyrightText: 2024 German Aerospace Center (DLR)
// SPDX-License-Identifier: Apache-2.0
-import React, {useState} from 'react';
-import {Dialog, DialogTitle, DialogContent, IconButton, Typography, Box, CircularProgress} from '@mui/material';
+import React, {useState, useRef, useEffect, useCallback} from 'react';
+import {
+ Dialog,
+ DialogTitle,
+ DialogContent,
+ IconButton,
+ Typography,
+ Box,
+ CircularProgress,
+ Tooltip,
+} from '@mui/material';
import CloseIcon from '@mui/icons-material/Close';
import ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew';
import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
+import ZoomInIcon from '@mui/icons-material/ZoomIn';
+import ZoomOutIcon from '@mui/icons-material/ZoomOut';
import {SearchResult} from 'types/semanticSearch';
import {Document, Page, pdfjs} from 'react-pdf';
import 'react-pdf/dist/Page/AnnotationLayer.css';
@@ -25,6 +36,92 @@ interface ArticleDialogProps {
export default function ArticleDialog({open, onClose, article}: ArticleDialogProps): JSX.Element {
const [numPages, setNumPages] = useState(0);
const [pageNumber, setPageNumber] = useState(1);
+ const [containerWidth, setContainerWidth] = useState(0);
+ const [zoom, setZoom] = useState(1);
+ const containerRef = useRef(null);
+
+ useEffect(() => {
+ const observer = new ResizeObserver((entries) => {
+ const entry = entries.at(0);
+ if (entry) {
+ setContainerWidth(entry.contentRect.width);
+ }
+ });
+
+ if (containerRef.current) {
+ observer.observe(containerRef.current);
+ }
+
+ return () => {
+ observer.disconnect();
+ };
+ }, []);
+
+ const goToNextPage = useCallback(() => {
+ setPageNumber((prevPageNumber) => Math.min(prevPageNumber + 1, numPages));
+ }, [numPages]);
+
+ const goToPreviousPage = useCallback(() => {
+ setPageNumber((prevPageNumber) => Math.max(prevPageNumber - 1, 1));
+ }, []);
+
+ const handleZoomIn = useCallback(() => {
+ setZoom((prevZoom) => Math.min(prevZoom + 0.25, 3));
+ }, []);
+
+ const handleZoomOut = useCallback(() => {
+ setZoom((prevZoom) => Math.max(prevZoom - 0.25, 0.25));
+ }, []);
+
+ const handleZoomReset = useCallback(() => {
+ setZoom(1);
+ }, []);
+
+ // Keyboard shortcuts for zoom and navigation
+ useEffect(() => {
+ const handleKeyDown = (event: KeyboardEvent) => {
+ if (!open) return;
+
+ switch (event.key) {
+ case '+':
+ case '=':
+ if (event.ctrlKey || event.metaKey) {
+ event.preventDefault();
+ handleZoomIn();
+ }
+ break;
+ case '-':
+ if (event.ctrlKey || event.metaKey) {
+ event.preventDefault();
+ handleZoomOut();
+ }
+ break;
+ case '0':
+ if (event.ctrlKey || event.metaKey) {
+ event.preventDefault();
+ handleZoomReset();
+ }
+ break;
+ case 'ArrowLeft':
+ if (event.ctrlKey || event.metaKey) {
+ event.preventDefault();
+ goToPreviousPage();
+ }
+ break;
+ case 'ArrowRight':
+ if (event.ctrlKey || event.metaKey) {
+ event.preventDefault();
+ goToNextPage();
+ }
+ break;
+ }
+ };
+
+ document.addEventListener('keydown', handleKeyDown);
+ return () => {
+ document.removeEventListener('keydown', handleKeyDown);
+ };
+ }, [open, handleZoomIn, handleZoomOut, handleZoomReset, goToPreviousPage, goToNextPage]);
if (!article) {
return <>>;
@@ -35,16 +132,15 @@ export default function ArticleDialog({open, onClose, article}: ArticleDialogPro
setPageNumber(1); // Reset to first page on new document load
}
- function goToNextPage() {
- setPageNumber((prevPageNumber) => Math.min(prevPageNumber + 1, numPages));
- }
-
- function goToPreviousPage() {
- setPageNumber((prevPageNumber) => Math.max(prevPageNumber - 1, 1));
- }
-
return (
-
-
-
- {truncateText(result.content, 50)}
-
-
-
-
+
+
+ {truncateText(result.content, 50)}
+
);
}
diff --git a/test/setup.ts b/test/setup.ts
index 00a6031c..7c9c6d85 100644
--- a/test/setup.ts
+++ b/test/setup.ts
@@ -7,6 +7,15 @@ import '@testing-library/jest-dom/vitest';
import 'vitest-canvas-mock';
import server from 'mocks/server';
+// ResizeObserver polyfill for jsdom
+class ResizeObserverMock {
+ observe() {}
+ unobserve() {}
+ disconnect() {}
+}
+
+global.ResizeObserver = ResizeObserverMock;
+
beforeAll(() => {
server.listen();
});
From aba24cd714f87d54a870000e70d27859341d5d78 Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Fri, 1 Aug 2025 16:07:08 +0200
Subject: [PATCH 11/19] fix: readjustments for PDF displayer
---
docs/contribute.md | 2 -
package-lock.json | 5752 +++++++++++------
package.json | 1 -
public/pdf.worker.min.js | 2 +-
.../SemanticSearch/ArticleDialog.tsx | 6 +-
vite.config.mts | 10 +-
6 files changed, 3626 insertions(+), 2147 deletions(-)
diff --git a/docs/contribute.md b/docs/contribute.md
index c324ed4a..87e21a17 100644
--- a/docs/contribute.md
+++ b/docs/contribute.md
@@ -174,11 +174,9 @@ would be difficult to handle with React's `props` alone.

**The alternative text color for lighter and darker variants where the contrast is not high enough is always either `#F2F2F2` (light text), or `#0C0B0D` (dark text).**
-
- The Spacing is done in 5 steps: `0 px`, `4 px`, `8 px`, `12 px`, and `26 px`
-
- The theme is provided using the [MUI Theme Provider](https://mui.com/customization/theming 'mui.com')
-
It can be accessed in components like this: (-- Click to expand --)
diff --git a/package-lock.json b/package-lock.json
index 20413832..18032e7a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -28,7 +28,6 @@
"i18next-browser-languagedetector": "^7.2.0",
"i18next-http-backend": "^2.4.2",
"json5": "^2.2.3",
- "pdfjs-dist": "^5.3.31",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^13.5.0",
@@ -89,26 +88,18 @@
"vitest-canvas-mock": "^0.3.3"
}
},
- "node_modules/@aashutoshrathi/word-wrap": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
- "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@adobe/css-tools": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.2.tgz",
- "integrity": "sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==",
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.3.tgz",
+ "integrity": "sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==",
"dev": true,
"license": "MIT"
},
"node_modules/@amcharts/amcharts5": {
- "version": "5.8.4",
- "resolved": "https://registry.npmjs.org/@amcharts/amcharts5/-/amcharts5-5.8.4.tgz",
- "integrity": "sha512-ceyEZkTnUU1DNkmgD9QIyoYlUYfa+0nkF1pQA6imOeIIlswO88NvMu8V7lFpNaKt1a8vbssk1D9kb8zUvtD22A==",
+ "version": "5.13.4",
+ "resolved": "https://registry.npmjs.org/@amcharts/amcharts5/-/amcharts5-5.13.4.tgz",
+ "integrity": "sha512-ATCKxHjFRfxa9+o6p5S6yfenxkniEB7PS/ec3lnQfSZvXYltHdb924/SkBdPsuz3v3BrgLEMA6CjXrDZdtb19Q==",
+ "license": "SEE LICENSE IN LICENSE",
"dependencies": {
"@types/d3": "^7.0.0",
"@types/d3-chord": "^3.0.0",
@@ -120,12 +111,15 @@
"@types/svg-arc-to-cubic-bezier": "^3.2.0",
"d3": "^7.0.0",
"d3-chord": "^3.0.0",
+ "d3-force": "^3.0.0",
"d3-geo": "^3.0.0",
+ "d3-hierarchy": "^3.0.0",
"d3-sankey": "^0.12.3",
"d3-selection": "^3.0.0",
+ "d3-shape": "^3.0.0",
"d3-transition": "^3.0.0",
"d3-voronoi-treemap": "^1.1.2",
- "flatpickr": "^4.6.9",
+ "flatpickr": "^4.6.13",
"markerjs2": "^2.29.4",
"pdfmake": "^0.2.2",
"polylabel": "^1.1.0",
@@ -139,6 +133,7 @@
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
"integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.24"
@@ -147,11 +142,33 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@asamuzakjp/css-color": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz",
+ "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/css-calc": "^2.1.3",
+ "@csstools/css-color-parser": "^3.0.9",
+ "@csstools/css-parser-algorithms": "^3.0.4",
+ "@csstools/css-tokenizer": "^3.0.3",
+ "lru-cache": "^10.4.3"
+ }
+ },
+ "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/@asamuzakjp/dom-selector": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-2.0.2.tgz",
"integrity": "sha512-x1KXOatwofR6ZAYzXRBL5wrdV0vwNxlTCK9NCuLqAzQYARqGcvFwiJA6A1ERuh+dgeA4Dxm3JBYictIes+SqUQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"bidi-js": "^1.0.3",
"css-tree": "^2.3.1",
@@ -173,9 +190,9 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz",
- "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz",
+ "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -183,22 +200,22 @@
}
},
"node_modules/@babel/core": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz",
- "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz",
+ "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.27.1",
- "@babel/helper-compilation-targets": "^7.27.1",
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helpers": "^7.27.1",
- "@babel/parser": "^7.27.1",
- "@babel/template": "^7.27.1",
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1",
+ "@babel/generator": "^7.28.0",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.27.3",
+ "@babel/helpers": "^7.27.6",
+ "@babel/parser": "^7.28.0",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.0",
+ "@babel/types": "^7.28.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -214,10 +231,11 @@
}
},
"node_modules/@babel/eslint-parser": {
- "version": "7.23.10",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.10.tgz",
- "integrity": "sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.0.tgz",
+ "integrity": "sha512-N4ntErOlKvcbTt01rr5wj3y55xnIdx1ymrfIr8C2WnM1Y9glFgWaGDEULJIazOX3XM9NRzhfJ6zZnQ1sBNWU+w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
"eslint-visitor-keys": "^2.1.0",
@@ -228,19 +246,19 @@
},
"peerDependencies": {
"@babel/core": "^7.11.0",
- "eslint": "^7.5.0 || ^8.0.0"
+ "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0"
}
},
"node_modules/@babel/generator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz",
- "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz",
+ "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==",
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.27.1",
- "@babel/types": "^7.27.1",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
+ "@babel/parser": "^7.28.0",
+ "@babel/types": "^7.28.0",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
},
"engines": {
@@ -248,12 +266,13 @@
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
- "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
+ "version": "7.27.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
+ "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.27.3"
},
"engines": {
"node": ">=6.9.0"
@@ -276,6 +295,15 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-module-imports": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
@@ -290,15 +318,15 @@
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz",
- "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==",
+ "version": "7.27.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
+ "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
"@babel/helper-validator-identifier": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/traverse": "^7.27.3"
},
"engines": {
"node": ">=6.9.0"
@@ -346,26 +374,26 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz",
- "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==",
+ "version": "7.28.2",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.2.tgz",
+ "integrity": "sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.27.1",
- "@babel/types": "^7.27.1"
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz",
- "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz",
+ "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.27.1"
+ "@babel/types": "^7.28.0"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -375,12 +403,13 @@
}
},
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
- "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
+ "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -390,12 +419,13 @@
}
},
"node_modules/@babel/plugin-transform-react-display-name": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz",
- "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz",
+ "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -405,16 +435,17 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz",
- "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz",
+ "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/plugin-syntax-jsx": "^7.23.3",
- "@babel/types": "^7.23.4"
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/plugin-syntax-jsx": "^7.27.1",
+ "@babel/types": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -424,12 +455,13 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx-development": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz",
- "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz",
+ "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/plugin-transform-react-jsx": "^7.22.5"
+ "@babel/plugin-transform-react-jsx": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -471,13 +503,14 @@
}
},
"node_modules/@babel/plugin-transform-react-pure-annotations": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz",
- "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz",
+ "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -487,17 +520,18 @@
}
},
"node_modules/@babel/preset-react": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz",
- "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz",
+ "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.15",
- "@babel/plugin-transform-react-display-name": "^7.23.3",
- "@babel/plugin-transform-react-jsx": "^7.22.15",
- "@babel/plugin-transform-react-jsx-development": "^7.22.5",
- "@babel/plugin-transform-react-pure-annotations": "^7.23.3"
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-validator-option": "^7.27.1",
+ "@babel/plugin-transform-react-display-name": "^7.27.1",
+ "@babel/plugin-transform-react-jsx": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-development": "^7.27.1",
+ "@babel/plugin-transform-react-pure-annotations": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -507,9 +541,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz",
- "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==",
+ "version": "7.28.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz",
+ "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -530,27 +564,27 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz",
- "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz",
+ "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.27.1",
- "@babel/parser": "^7.27.1",
- "@babel/template": "^7.27.1",
- "@babel/types": "^7.27.1",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
+ "@babel/generator": "^7.28.0",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.0",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.0",
+ "debug": "^4.3.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/types": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz",
- "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==",
+ "version": "7.28.2",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz",
+ "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
@@ -585,6 +619,7 @@
"resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz",
"integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"statuses": "^2.0.1"
}
@@ -600,6 +635,121 @@
"tough-cookie": "^4.1.4"
}
},
+ "node_modules/@csstools/color-helpers": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz",
+ "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@csstools/css-calc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
+ "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ }
+ },
+ "node_modules/@csstools/css-color-parser": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz",
+ "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/color-helpers": "^5.0.2",
+ "@csstools/css-calc": "^2.1.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ }
+ },
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
+ "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-tokenizer": "^3.0.4"
+ }
+ },
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
+ "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@dnd-kit/accessibility": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz",
@@ -668,15 +818,16 @@
}
},
"node_modules/@emotion/babel-plugin": {
- "version": "11.11.0",
- "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz",
- "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==",
+ "version": "11.13.5",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz",
+ "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==",
+ "license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.16.7",
"@babel/runtime": "^7.18.3",
- "@emotion/hash": "^0.9.1",
- "@emotion/memoize": "^0.8.1",
- "@emotion/serialize": "^1.1.2",
+ "@emotion/hash": "^0.9.2",
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/serialize": "^1.3.3",
"babel-plugin-macros": "^3.1.0",
"convert-source-map": "^1.5.0",
"escape-string-regexp": "^4.0.0",
@@ -688,50 +839,56 @@
"node_modules/@emotion/babel-plugin/node_modules/convert-source-map": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "license": "MIT"
},
"node_modules/@emotion/cache": {
- "version": "11.11.0",
- "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz",
- "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==",
- "dependencies": {
- "@emotion/memoize": "^0.8.1",
- "@emotion/sheet": "^1.2.2",
- "@emotion/utils": "^1.2.1",
- "@emotion/weak-memoize": "^0.3.1",
+ "version": "11.14.0",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz",
+ "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/sheet": "^1.4.0",
+ "@emotion/utils": "^1.4.2",
+ "@emotion/weak-memoize": "^0.4.0",
"stylis": "4.2.0"
}
},
"node_modules/@emotion/hash": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz",
- "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ=="
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz",
+ "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==",
+ "license": "MIT"
},
"node_modules/@emotion/is-prop-valid": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
- "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz",
+ "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==",
+ "license": "MIT",
"dependencies": {
- "@emotion/memoize": "^0.8.1"
+ "@emotion/memoize": "^0.9.0"
}
},
"node_modules/@emotion/memoize": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
- "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz",
+ "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==",
+ "license": "MIT"
},
"node_modules/@emotion/react": {
- "version": "11.11.4",
- "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz",
- "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==",
+ "version": "11.14.0",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz",
+ "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.18.3",
- "@emotion/babel-plugin": "^11.11.0",
- "@emotion/cache": "^11.11.0",
- "@emotion/serialize": "^1.1.3",
- "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
- "@emotion/utils": "^1.2.1",
- "@emotion/weak-memoize": "^0.3.1",
+ "@emotion/babel-plugin": "^11.13.5",
+ "@emotion/cache": "^11.14.0",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0",
+ "@emotion/utils": "^1.4.2",
+ "@emotion/weak-memoize": "^0.4.0",
"hoist-non-react-statics": "^3.3.1"
},
"peerDependencies": {
@@ -744,33 +901,36 @@
}
},
"node_modules/@emotion/serialize": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz",
- "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz",
+ "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==",
+ "license": "MIT",
"dependencies": {
- "@emotion/hash": "^0.9.1",
- "@emotion/memoize": "^0.8.1",
- "@emotion/unitless": "^0.8.1",
- "@emotion/utils": "^1.2.1",
+ "@emotion/hash": "^0.9.2",
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/unitless": "^0.10.0",
+ "@emotion/utils": "^1.4.2",
"csstype": "^3.0.2"
}
},
"node_modules/@emotion/sheet": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz",
- "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA=="
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz",
+ "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==",
+ "license": "MIT"
},
"node_modules/@emotion/styled": {
- "version": "11.11.0",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz",
- "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==",
+ "version": "11.14.1",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz",
+ "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.18.3",
- "@emotion/babel-plugin": "^11.11.0",
- "@emotion/is-prop-valid": "^1.2.1",
- "@emotion/serialize": "^1.1.2",
- "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
- "@emotion/utils": "^1.2.1"
+ "@emotion/babel-plugin": "^11.13.5",
+ "@emotion/is-prop-valid": "^1.3.0",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0",
+ "@emotion/utils": "^1.4.2"
},
"peerDependencies": {
"@emotion/react": "^11.0.0-rc.0",
@@ -783,32 +943,36 @@
}
},
"node_modules/@emotion/unitless": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
- "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz",
+ "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==",
+ "license": "MIT"
},
"node_modules/@emotion/use-insertion-effect-with-fallbacks": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz",
- "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz",
+ "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==",
+ "license": "MIT",
"peerDependencies": {
"react": ">=16.8.0"
}
},
"node_modules/@emotion/utils": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz",
- "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg=="
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz",
+ "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==",
+ "license": "MIT"
},
"node_modules/@emotion/weak-memoize": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz",
- "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww=="
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz",
+ "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==",
+ "license": "MIT"
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
- "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz",
+ "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==",
"cpu": [
"ppc64"
],
@@ -823,9 +987,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
- "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz",
+ "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==",
"cpu": [
"arm"
],
@@ -840,9 +1004,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
- "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz",
+ "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==",
"cpu": [
"arm64"
],
@@ -857,9 +1021,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
- "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz",
+ "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==",
"cpu": [
"x64"
],
@@ -874,9 +1038,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
- "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz",
+ "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==",
"cpu": [
"arm64"
],
@@ -891,9 +1055,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
- "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz",
+ "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==",
"cpu": [
"x64"
],
@@ -908,9 +1072,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
- "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz",
+ "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==",
"cpu": [
"arm64"
],
@@ -925,9 +1089,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
- "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz",
+ "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==",
"cpu": [
"x64"
],
@@ -942,9 +1106,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
- "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz",
+ "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==",
"cpu": [
"arm"
],
@@ -959,9 +1123,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
- "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz",
+ "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==",
"cpu": [
"arm64"
],
@@ -976,9 +1140,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
- "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz",
+ "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==",
"cpu": [
"ia32"
],
@@ -993,9 +1157,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
- "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz",
+ "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==",
"cpu": [
"loong64"
],
@@ -1010,9 +1174,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
- "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz",
+ "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==",
"cpu": [
"mips64el"
],
@@ -1027,9 +1191,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
- "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz",
+ "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==",
"cpu": [
"ppc64"
],
@@ -1044,9 +1208,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
- "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz",
+ "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==",
"cpu": [
"riscv64"
],
@@ -1061,9 +1225,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
- "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz",
+ "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==",
"cpu": [
"s390x"
],
@@ -1078,9 +1242,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
- "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz",
+ "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==",
"cpu": [
"x64"
],
@@ -1095,9 +1259,9 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
- "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz",
+ "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==",
"cpu": [
"arm64"
],
@@ -1112,9 +1276,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
- "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz",
+ "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==",
"cpu": [
"x64"
],
@@ -1129,9 +1293,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
- "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz",
+ "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==",
"cpu": [
"arm64"
],
@@ -1146,9 +1310,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
- "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz",
+ "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==",
"cpu": [
"x64"
],
@@ -1162,10 +1326,27 @@
"node": ">=18"
}
},
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz",
+ "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
- "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz",
+ "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==",
"cpu": [
"x64"
],
@@ -1180,9 +1361,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
- "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz",
+ "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==",
"cpu": [
"arm64"
],
@@ -1197,9 +1378,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
- "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz",
+ "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==",
"cpu": [
"ia32"
],
@@ -1214,9 +1395,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
- "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz",
+ "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==",
"cpu": [
"x64"
],
@@ -1231,16 +1412,20 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
+ "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "eslint-visitor-keys": "^3.3.0"
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
"peerDependencies": {
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
@@ -1250,6 +1435,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -1258,10 +1444,11 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
- "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
@@ -1271,6 +1458,7 @@
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
"integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
@@ -1300,26 +1488,12 @@
"concat-map": "0.0.1"
}
},
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@eslint/eslintrc/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -1327,50 +1501,42 @@
"node": "*"
}
},
- "node_modules/@eslint/eslintrc/node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@eslint/js": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
- "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@floating-ui/core": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz",
- "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==",
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
+ "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
+ "license": "MIT",
"dependencies": {
- "@floating-ui/utils": "^0.2.1"
+ "@floating-ui/utils": "^0.2.10"
}
},
"node_modules/@floating-ui/dom": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz",
- "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==",
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.3.tgz",
+ "integrity": "sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==",
+ "license": "MIT",
"dependencies": {
- "@floating-ui/core": "^1.0.0",
- "@floating-ui/utils": "^0.2.0"
+ "@floating-ui/core": "^1.7.3",
+ "@floating-ui/utils": "^0.2.10"
}
},
"node_modules/@floating-ui/react-dom": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz",
- "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.5.tgz",
+ "integrity": "sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==",
+ "license": "MIT",
"dependencies": {
- "@floating-ui/dom": "^1.6.1"
+ "@floating-ui/dom": "^1.7.3"
},
"peerDependencies": {
"react": ">=16.8.0",
@@ -1378,14 +1544,16 @@
}
},
"node_modules/@floating-ui/utils": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz",
- "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q=="
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
+ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
+ "license": "MIT"
},
"node_modules/@foliojs-fork/fontkit": {
"version": "1.9.2",
"resolved": "https://registry.npmjs.org/@foliojs-fork/fontkit/-/fontkit-1.9.2.tgz",
"integrity": "sha512-IfB5EiIb+GZk+77TRB86AHroVaqfq8JRFlUbz0WEwsInyCG0epX2tCPOy+UfaWPju30DeVoUAXfzWXmhn753KA==",
+ "license": "MIT",
"dependencies": {
"@foliojs-fork/restructure": "^2.0.2",
"brotli": "^1.2.0",
@@ -1397,62 +1565,50 @@
"unicode-trie": "^2.0.0"
}
},
- "node_modules/@foliojs-fork/fontkit/node_modules/deep-equal": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz",
- "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==",
- "dependencies": {
- "is-arguments": "^1.1.1",
- "is-date-object": "^1.0.5",
- "is-regex": "^1.1.4",
- "object-is": "^1.1.5",
- "object-keys": "^1.1.1",
- "regexp.prototype.flags": "^1.5.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/@foliojs-fork/linebreak": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@foliojs-fork/linebreak/-/linebreak-1.1.2.tgz",
"integrity": "sha512-ZPohpxxbuKNE0l/5iBJnOAfUaMACwvUIKCvqtWGKIMv1lPYoNjYXRfhi9FeeV9McBkBLxsMFWTVVhHJA8cyzvg==",
+ "license": "MIT",
"dependencies": {
"base64-js": "1.3.1",
"unicode-trie": "^2.0.0"
}
},
"node_modules/@foliojs-fork/pdfkit": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@foliojs-fork/pdfkit/-/pdfkit-0.14.0.tgz",
- "integrity": "sha512-nMOiQAv6id89MT3tVTCgc7HxD5ZMANwio2o5yvs5sexQkC0KI3BLaLakpsrHmFfeGFAhqPmZATZGbJGXTUebpg==",
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/@foliojs-fork/pdfkit/-/pdfkit-0.15.3.tgz",
+ "integrity": "sha512-Obc0Wmy3bm7BINFVvPhcl2rnSSK61DQrlHU8aXnAqDk9LCjWdUOPwhgD8Ywz5VtuFjRxmVOM/kQ/XLIBjDvltw==",
+ "license": "MIT",
"dependencies": {
- "@foliojs-fork/fontkit": "^1.9.1",
+ "@foliojs-fork/fontkit": "^1.9.2",
"@foliojs-fork/linebreak": "^1.1.1",
"crypto-js": "^4.2.0",
+ "jpeg-exif": "^1.1.4",
"png-js": "^1.0.0"
}
},
"node_modules/@foliojs-fork/restructure": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@foliojs-fork/restructure/-/restructure-2.0.2.tgz",
- "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA=="
+ "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA==",
+ "license": "MIT"
},
"node_modules/@gilbarbara/deep-equal": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@gilbarbara/deep-equal/-/deep-equal-0.3.1.tgz",
- "integrity": "sha512-I7xWjLs2YSVMc5gGx1Z3ZG1lgFpITPndpi8Ku55GeEIKpACCPQNS/OTqQbxgTCfq0Ncvcc+CrFov96itVh6Qvw=="
+ "integrity": "sha512-I7xWjLs2YSVMc5gGx1Z3ZG1lgFpITPndpi8Ku55GeEIKpACCPQNS/OTqQbxgTCfq0Ncvcc+CrFov96itVh6Qvw==",
+ "license": "MIT"
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
+ "deprecated": "Use @eslint/config-array instead",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
+ "@humanwhocodes/object-schema": "^2.0.3",
"debug": "^4.3.1",
"minimatch": "^3.0.5"
},
@@ -1476,6 +1632,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -1488,6 +1645,7 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=12.22"
},
@@ -1497,20 +1655,22 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
- "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
- "dev": true
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+ "deprecated": "Use @eslint/object-schema instead",
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/@inquirer/confirm": {
- "version": "5.1.10",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.10.tgz",
- "integrity": "sha512-FxbQ9giWxUWKUk2O5XZ6PduVnH2CZ/fmMKMBkH71MHJvWr7WL5AHKevhzF1L5uYWB2P548o1RzVxrNd3dpmk6g==",
+ "version": "5.1.14",
+ "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz",
+ "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/type": "^3.0.6"
+ "@inquirer/core": "^10.1.15",
+ "@inquirer/type": "^3.0.8"
},
"engines": {
"node": ">=18"
@@ -1525,14 +1685,14 @@
}
},
"node_modules/@inquirer/core": {
- "version": "10.1.11",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
- "integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
+ "version": "10.1.15",
+ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz",
+ "integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@inquirer/figures": "^1.0.11",
- "@inquirer/type": "^3.0.6",
+ "@inquirer/figures": "^1.0.13",
+ "@inquirer/type": "^3.0.8",
"ansi-escapes": "^4.3.2",
"cli-width": "^4.1.0",
"mute-stream": "^2.0.0",
@@ -1629,9 +1789,9 @@
}
},
"node_modules/@inquirer/figures": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz",
- "integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==",
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
+ "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1639,9 +1799,9 @@
}
},
"node_modules/@inquirer/type": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
- "integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
+ "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1770,53 +1930,44 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
+ "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
+ "license": "MIT",
"dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/sourcemap-codec": "^1.5.0",
"@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
+ "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "version": "0.3.29",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
+ "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
+ "license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@mswjs/interceptors": {
- "version": "0.37.6",
- "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.37.6.tgz",
- "integrity": "sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==",
+ "version": "0.39.5",
+ "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.39.5.tgz",
+ "integrity": "sha512-B9nHSJYtsv79uo7QdkZ/b/WoKm20IkVSmTc/WCKarmDtFwM0dRx2ouEniqwNkzCSLn3fydzKmnMzjtfdOWt3VQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1832,14 +1983,16 @@
}
},
"node_modules/@mui/base": {
- "version": "5.0.0-beta.39",
- "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.39.tgz",
- "integrity": "sha512-puyUptF7VJ+9/dMIRLF+DLR21cWfvejsA6OnatfJfqFp8aMhya7xQtvYLEfCch6ahvFZvNC9FFEGGR+qkgFjUg==",
+ "version": "5.0.0-beta.40-1",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40-1.tgz",
+ "integrity": "sha512-agKXuNNy0bHUmeU7pNmoZwNFr7Hiyhojkb9+2PVyDG5+6RafYuyMgbrav8CndsB7KUc/U51JAw9vKNDLYBzaUA==",
+ "deprecated": "This package has been replaced by @base-ui-components/react",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.9",
"@floating-ui/react-dom": "^2.0.8",
- "@mui/types": "^7.2.13",
- "@mui/utils": "^5.15.13",
+ "@mui/types": "~7.2.15",
+ "@mui/utils": "^5.17.1",
"@popperjs/core": "^2.11.8",
"clsx": "^2.1.0",
"prop-types": "^15.8.1"
@@ -1852,9 +2005,9 @@
"url": "https://opencollective.com/mui-org"
},
"peerDependencies": {
- "@types/react": "^17.0.0 || ^18.0.0",
- "react": "^17.0.0 || ^18.0.0",
- "react-dom": "^17.0.0 || ^18.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -1863,18 +2016,20 @@
}
},
"node_modules/@mui/core-downloads-tracker": {
- "version": "5.15.13",
- "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.13.tgz",
- "integrity": "sha512-ERsk9EWpiitSiKnmUdFJGshtFk647l4p7r+mjRWe/F1l5kT1NTTKkaeDLcK3/lsy0udXjMgcG0bNwzbYBdDdhQ==",
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.18.0.tgz",
+ "integrity": "sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA==",
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mui-org"
}
},
"node_modules/@mui/icons-material": {
- "version": "5.15.13",
- "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.13.tgz",
- "integrity": "sha512-I7CioMQKBPaKyGgcE9i8+1dgzAmox5a/0wZ0E9sIxm7PzG5KJZRRJkdK4oDT4HfYRGv61KjcHEeqH48pht1dvQ==",
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.18.0.tgz",
+ "integrity": "sha512-1s0vEZj5XFXDMmz3Arl/R7IncFqJ+WQ95LDp1roHWGDE2oCO3IS4/hmiOv1/8SD9r6B7tv9GLiqVZYHo+6PkTg==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.9"
},
@@ -1887,8 +2042,8 @@
},
"peerDependencies": {
"@mui/material": "^5.0.0",
- "@types/react": "^17.0.0 || ^18.0.0",
- "react": "^17.0.0 || ^18.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -1897,15 +2052,16 @@
}
},
"node_modules/@mui/lab": {
- "version": "5.0.0-alpha.170",
- "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.170.tgz",
- "integrity": "sha512-0bDVECGmrNjd3+bLdcLiwYZ0O4HP5j5WSQm5DV6iA/Z9kr8O6AnvZ1bv9ImQbbX7Gj3pX4o43EKwCutj3EQxQg==",
+ "version": "5.0.0-alpha.177",
+ "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.177.tgz",
+ "integrity": "sha512-bdCxxtNjlWAgN9rtrwlmFydJ1qxA3IIbb6OlomGFsIXw0zGoHomLyjvh72q/R3yUAC0kvSef18cHY1UalLylyQ==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.9",
- "@mui/base": "5.0.0-beta.40",
- "@mui/system": "^5.15.15",
- "@mui/types": "^7.2.14",
- "@mui/utils": "^5.15.14",
+ "@mui/base": "5.0.0-beta.40-1",
+ "@mui/system": "^5.18.0",
+ "@mui/types": "~7.2.15",
+ "@mui/utils": "^5.17.1",
"clsx": "^2.1.0",
"prop-types": "^15.8.1"
},
@@ -1920,9 +2076,9 @@
"@emotion/react": "^11.5.0",
"@emotion/styled": "^11.3.0",
"@mui/material": ">=5.15.0",
- "@types/react": "^17.0.0 || ^18.0.0",
- "react": "^17.0.0 || ^18.0.0",
- "react-dom": "^17.0.0 || ^18.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@emotion/react": {
@@ -1936,53 +2092,23 @@
}
}
},
- "node_modules/@mui/lab/node_modules/@mui/base": {
- "version": "5.0.0-beta.40",
- "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz",
- "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==",
- "dependencies": {
- "@babel/runtime": "^7.23.9",
- "@floating-ui/react-dom": "^2.0.8",
- "@mui/types": "^7.2.14",
- "@mui/utils": "^5.15.14",
- "@popperjs/core": "^2.11.8",
- "clsx": "^2.1.0",
- "prop-types": "^15.8.1"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mui-org"
- },
- "peerDependencies": {
- "@types/react": "^17.0.0 || ^18.0.0",
- "react": "^17.0.0 || ^18.0.0",
- "react-dom": "^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
"node_modules/@mui/material": {
- "version": "5.15.13",
- "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.13.tgz",
- "integrity": "sha512-E+QisOJcIzTTyeJ0o3lgYMcyrmCydb2S4cn9vTtGpIB9uR6fQ6La3dIGsXgYEGyeOB9YkWzQbNzYzvyODGEWKA==",
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.18.0.tgz",
+ "integrity": "sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.9",
- "@mui/base": "5.0.0-beta.39",
- "@mui/core-downloads-tracker": "^5.15.13",
- "@mui/system": "^5.15.13",
- "@mui/types": "^7.2.13",
- "@mui/utils": "^5.15.13",
+ "@mui/core-downloads-tracker": "^5.18.0",
+ "@mui/system": "^5.18.0",
+ "@mui/types": "~7.2.15",
+ "@mui/utils": "^5.17.1",
+ "@popperjs/core": "^2.11.8",
"@types/react-transition-group": "^4.4.10",
"clsx": "^2.1.0",
"csstype": "^3.1.3",
"prop-types": "^15.8.1",
- "react-is": "^18.2.0",
+ "react-is": "^19.0.0",
"react-transition-group": "^4.4.5"
},
"engines": {
@@ -1995,9 +2121,9 @@
"peerDependencies": {
"@emotion/react": "^11.5.0",
"@emotion/styled": "^11.3.0",
- "@types/react": "^17.0.0 || ^18.0.0",
- "react": "^17.0.0 || ^18.0.0",
- "react-dom": "^17.0.0 || ^18.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@emotion/react": {
@@ -2012,12 +2138,13 @@
}
},
"node_modules/@mui/private-theming": {
- "version": "5.15.14",
- "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz",
- "integrity": "sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.17.1.tgz",
+ "integrity": "sha512-XMxU0NTYcKqdsG8LRmSoxERPXwMbp16sIXPcLVgLGII/bVNagX0xaheWAwFv8+zDK7tI3ajllkuD3GZZE++ICQ==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.9",
- "@mui/utils": "^5.15.14",
+ "@mui/utils": "^5.17.1",
"prop-types": "^15.8.1"
},
"engines": {
@@ -2028,8 +2155,8 @@
"url": "https://opencollective.com/mui-org"
},
"peerDependencies": {
- "@types/react": "^17.0.0 || ^18.0.0",
- "react": "^17.0.0 || ^18.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -2038,12 +2165,14 @@
}
},
"node_modules/@mui/styled-engine": {
- "version": "5.15.14",
- "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz",
- "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==",
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.18.0.tgz",
+ "integrity": "sha512-BN/vKV/O6uaQh2z5rXV+MBlVrEkwoS/TK75rFQ2mjxA7+NBo8qtTAOA4UaM0XeJfn7kh2wZ+xQw2HAx0u+TiBg==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.9",
- "@emotion/cache": "^11.11.0",
+ "@emotion/cache": "^11.13.5",
+ "@emotion/serialize": "^1.3.3",
"csstype": "^3.1.3",
"prop-types": "^15.8.1"
},
@@ -2057,7 +2186,7 @@
"peerDependencies": {
"@emotion/react": "^11.4.1",
"@emotion/styled": "^11.3.0",
- "react": "^17.0.0 || ^18.0.0"
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@emotion/react": {
@@ -2069,15 +2198,16 @@
}
},
"node_modules/@mui/system": {
- "version": "5.15.15",
- "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz",
- "integrity": "sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==",
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.18.0.tgz",
+ "integrity": "sha512-ojZGVcRWqWhu557cdO3pWHloIGJdzVtxs3rk0F9L+x55LsUjcMUVkEhiF7E4TMxZoF9MmIHGGs0ZX3FDLAf0Xw==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.9",
- "@mui/private-theming": "^5.15.14",
- "@mui/styled-engine": "^5.15.14",
- "@mui/types": "^7.2.14",
- "@mui/utils": "^5.15.14",
+ "@mui/private-theming": "^5.17.1",
+ "@mui/styled-engine": "^5.18.0",
+ "@mui/types": "~7.2.15",
+ "@mui/utils": "^5.17.1",
"clsx": "^2.1.0",
"csstype": "^3.1.3",
"prop-types": "^15.8.1"
@@ -2092,8 +2222,8 @@
"peerDependencies": {
"@emotion/react": "^11.5.0",
"@emotion/styled": "^11.3.0",
- "@types/react": "^17.0.0 || ^18.0.0",
- "react": "^17.0.0 || ^18.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@emotion/react": {
@@ -2108,11 +2238,12 @@
}
},
"node_modules/@mui/types": {
- "version": "7.2.14",
- "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz",
- "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==",
+ "version": "7.2.24",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.24.tgz",
+ "integrity": "sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==",
+ "license": "MIT",
"peerDependencies": {
- "@types/react": "^17.0.0 || ^18.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -2121,14 +2252,17 @@
}
},
"node_modules/@mui/utils": {
- "version": "5.15.14",
- "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz",
- "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.17.1.tgz",
+ "integrity": "sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.9",
- "@types/prop-types": "^15.7.11",
+ "@mui/types": "~7.2.15",
+ "@types/prop-types": "^15.7.12",
+ "clsx": "^2.1.1",
"prop-types": "^15.8.1",
- "react-is": "^18.2.0"
+ "react-is": "^19.0.0"
},
"engines": {
"node": ">=12.0.0"
@@ -2138,8 +2272,8 @@
"url": "https://opencollective.com/mui-org"
},
"peerDependencies": {
- "@types/react": "^17.0.0 || ^18.0.0",
- "react": "^17.0.0 || ^18.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -2148,9 +2282,10 @@
}
},
"node_modules/@mui/x-date-pickers": {
- "version": "6.20.0",
- "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-6.20.0.tgz",
- "integrity": "sha512-q/x3rNmPYMXnx75+3s9pQb1YDtws9y5bwxpxeB3EW88oCp33eS7bvJpeuoCA1LzW/PpVfIRhi5RCyAvrEeTL7Q==",
+ "version": "6.20.2",
+ "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-6.20.2.tgz",
+ "integrity": "sha512-x1jLg8R+WhvkmUETRfX2wC+xJreMii78EXKLl6r3G+ggcAZlPyt0myID1Amf6hvJb9CtR7CgUo8BwR+1Vx9Ggw==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.2",
"@mui/base": "^5.0.0-beta.22",
@@ -2213,9 +2348,9 @@
}
},
"node_modules/@nabla/vite-plugin-eslint": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nabla/vite-plugin-eslint/-/vite-plugin-eslint-2.0.5.tgz",
- "integrity": "sha512-m6Q8ZVM0ASZfYyfFbG661mDklhZQZEeBMQgtB26NhdadxPSctHzHsUbF87msdSb0V4Z8R1p/vRkB5SHNOpANAQ==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@nabla/vite-plugin-eslint/-/vite-plugin-eslint-2.0.6.tgz",
+ "integrity": "sha512-QQZwq7aTx2WtG2/c2ASF+amNAytbLY8LYYc71bECIMzRr7Y7Cx3o6oAQrcb1qQbq2+z2S2rq7i7o5LTskQi8sA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2225,50 +2360,13 @@
},
"peerDependencies": {
"eslint": "^8.45 || ^9",
- "vite": "^4 || ^5 || ^6"
- }
- },
- "node_modules/@nabla/vite-plugin-eslint/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@nabla/vite-plugin-eslint/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@nabla/vite-plugin-eslint/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
+ "vite": "^4 || ^5 || ^6 || ^7"
}
},
"node_modules/@napi-rs/canvas": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.74.tgz",
- "integrity": "sha512-pOIyzuS+5Bz1vAhD7tdhaw5/936mMJZUn4aVajojUdjYOGSWmfpDYSgt0nQLZPZVN5GLgWgutqXPOi7Jsm3k+Q==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.76.tgz",
+ "integrity": "sha512-YIk5okeNN53GzjvWmAyCQFE9xrLeQXzYpudX4TiLvqaz9SqXgIgxIuKPe4DKyB5nccsQMIev7JGKTzZaN5rFdw==",
"license": "MIT",
"optional": true,
"workspaces": [
@@ -2278,22 +2376,22 @@
"node": ">= 10"
},
"optionalDependencies": {
- "@napi-rs/canvas-android-arm64": "0.1.74",
- "@napi-rs/canvas-darwin-arm64": "0.1.74",
- "@napi-rs/canvas-darwin-x64": "0.1.74",
- "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.74",
- "@napi-rs/canvas-linux-arm64-gnu": "0.1.74",
- "@napi-rs/canvas-linux-arm64-musl": "0.1.74",
- "@napi-rs/canvas-linux-riscv64-gnu": "0.1.74",
- "@napi-rs/canvas-linux-x64-gnu": "0.1.74",
- "@napi-rs/canvas-linux-x64-musl": "0.1.74",
- "@napi-rs/canvas-win32-x64-msvc": "0.1.74"
+ "@napi-rs/canvas-android-arm64": "0.1.76",
+ "@napi-rs/canvas-darwin-arm64": "0.1.76",
+ "@napi-rs/canvas-darwin-x64": "0.1.76",
+ "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.76",
+ "@napi-rs/canvas-linux-arm64-gnu": "0.1.76",
+ "@napi-rs/canvas-linux-arm64-musl": "0.1.76",
+ "@napi-rs/canvas-linux-riscv64-gnu": "0.1.76",
+ "@napi-rs/canvas-linux-x64-gnu": "0.1.76",
+ "@napi-rs/canvas-linux-x64-musl": "0.1.76",
+ "@napi-rs/canvas-win32-x64-msvc": "0.1.76"
}
},
"node_modules/@napi-rs/canvas-android-arm64": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.74.tgz",
- "integrity": "sha512-aq5ode+9Z/ZR0H485dI2jdRdttg/hl9Ob+iPCt0nj+QFiirpxDrbUHKeTZWQWEtkWyC7vI5R2dMTbDINBfl9eg==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.76.tgz",
+ "integrity": "sha512-7EAfkLBQo2QoEzpHdInFbfEUYTXsiO2hvtFo1D9zfTzcQM8n5piZdOpJ3EIkmpe8yLoSV8HLyUQtq4bv11x6Tg==",
"cpu": [
"arm64"
],
@@ -2307,9 +2405,9 @@
}
},
"node_modules/@napi-rs/canvas-darwin-arm64": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.74.tgz",
- "integrity": "sha512-eO5Miz+ef1dEQyUMWDdcbAb1Wr7yMyxD9/CL9d4frQxO4pTTaCiMBUWup8XDPLr/g7XkSkGCZLP47xiXiyXSpQ==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.76.tgz",
+ "integrity": "sha512-Cs8WRMzaWSJWeWY8tvnCe+TuduHUbB0xFhZ0FmOrNy2prPxT4A6aU3FQu8hR9XJw8kKZ7v902wzaDmy9SdhG8A==",
"cpu": [
"arm64"
],
@@ -2323,9 +2421,9 @@
}
},
"node_modules/@napi-rs/canvas-darwin-x64": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.74.tgz",
- "integrity": "sha512-0EkO0IFkps7C3JpKC7lbM3IL+QDUYeUKagHLDbUry4PeQTghxp6JcgccpmU32ZbpFZgPnm7o0tTJO0J1d8S2rA==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.76.tgz",
+ "integrity": "sha512-ya+T6gV9XAq7YAnMa2fKhWXAuRR5cpRny2IoHacoMxgtOARnUkJO/k3hIb52FtMoq7UxLi5+IFGVHU6ZiMu4Ag==",
"cpu": [
"x64"
],
@@ -2339,9 +2437,9 @@
}
},
"node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.74.tgz",
- "integrity": "sha512-qAVJEN2JqGayEI1kSpJy1Xr6ZmCFV9QhRyV35yWsS7e9X1jm+T4DAlCxI4PlKIlqVSzYMYhKrxchST20XBSzHg==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.76.tgz",
+ "integrity": "sha512-fgnPb+FKVuixACvkHGldJqYXExORBwvqGgL0K80uE6SGH2t0UKD2auHw2CtBy14DUzfg82PkupO2ix2w7kB+Xw==",
"cpu": [
"arm"
],
@@ -2355,9 +2453,9 @@
}
},
"node_modules/@napi-rs/canvas-linux-arm64-gnu": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.74.tgz",
- "integrity": "sha512-lOnop22qy6MYxI94GGunMMjo6D80I//2W/6pqKUfwXaDQtOfvHsTcVVzDu5cFXUTNrb9ZRfMCeol5YEd+9FJvg==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.76.tgz",
+ "integrity": "sha512-r8OxIenvBPOa4I014k1ZWTCz2dB0ZTsxMP7+ovMOKO7jkl1Z+YZo2OTAqxArpMhN0wdEeI3Lw9zUcn2HgwEgDA==",
"cpu": [
"arm64"
],
@@ -2371,9 +2469,9 @@
}
},
"node_modules/@napi-rs/canvas-linux-arm64-musl": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.74.tgz",
- "integrity": "sha512-tfFqLHGtSEabBigOnPUfZviSTGmW2xHv5tYZYPBWmgGiTkoNJ7lEWFUxHjwvV5HXGqLs8ok/O7g1enSpxO6lmQ==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.76.tgz",
+ "integrity": "sha512-smxwzKfHYaOYG7QXUuDPrFEC7WqjL3Lx4AM6mk8/FxDAS+8o0eoZJwSu+zXsaBLimEQUozEYgEGtJ2JJ0RdL4A==",
"cpu": [
"arm64"
],
@@ -2387,9 +2485,9 @@
}
},
"node_modules/@napi-rs/canvas-linux-riscv64-gnu": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.74.tgz",
- "integrity": "sha512-j6H9dHTMtr1y3tu/zGm1ythYIL9vTl4EEv9f6CMx0n3Zn2M+OruUUwh9ylCj4afzSNEK9T8cr6zMnmTPzkpBvQ==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.76.tgz",
+ "integrity": "sha512-G2PsFwsP+r4syEoNLStV3n1wtNAClwf8s/qB57bexG08R4f4WaiBd+x+d4iYS0Y5o90YIEm8/ewZn4bLIa0wNQ==",
"cpu": [
"riscv64"
],
@@ -2403,9 +2501,9 @@
}
},
"node_modules/@napi-rs/canvas-linux-x64-gnu": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.74.tgz",
- "integrity": "sha512-73DIV4E7Y9CpIJuUXVl9H6+MEQXyRy4VJQoUGA1tOlcKQiStxqhq6UErL4decI28NxjyQXBhtYZKj5q8AJEuOg==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.76.tgz",
+ "integrity": "sha512-SNK+vgge4DnuONYdYE3Y09LivGgUiUPQDU+PdGNZJIzIi0hRDLcA59eag8LGeQfPmJW84c1aZD04voihybKFog==",
"cpu": [
"x64"
],
@@ -2419,9 +2517,9 @@
}
},
"node_modules/@napi-rs/canvas-linux-x64-musl": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.74.tgz",
- "integrity": "sha512-FgDMEFdGIJT3I2xejflRJ82/ZgDphyirS43RgtoLaIXI6zihLiZcQ7rczpqeWgAwlJNjR0He2EustsKe1SkUOg==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.76.tgz",
+ "integrity": "sha512-tWHLBI9iVoR1NsfpHz1MGERTkqcca8akbH/CzX6JQUNC+lJOeYYXeRuK8hKqMIg1LI+4QOMAtHNVeZu8NvjEug==",
"cpu": [
"x64"
],
@@ -2435,9 +2533,9 @@
}
},
"node_modules/@napi-rs/canvas-win32-x64-msvc": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.74.tgz",
- "integrity": "sha512-x6bhwlhn0wU7dfiP46mt5Bi6PowSUH4CJ4PTzGj58LRQ1HVasEIJgoMx7MLC48F738eJpzbfg3WR/D8+e9CeTA==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.76.tgz",
+ "integrity": "sha512-ifM5HOGw2hP5QLQzCB41Riw3Pq5yKAAjZpn+lJC0sYBmyS2s/Kq6KpTOKxf0CuptkI1wMcRcYQfhLRdeWiYvIg==",
"cpu": [
"x64"
],
@@ -2455,6 +2553,7 @@
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
"integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eslint-scope": "5.1.1"
}
@@ -2464,6 +2563,7 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -2477,6 +2577,7 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -2486,6 +2587,7 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -2519,6 +2621,316 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
+ "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.5",
+ "node-addon-api": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.1",
+ "@parcel/watcher-darwin-arm64": "2.5.1",
+ "@parcel/watcher-darwin-x64": "2.5.1",
+ "@parcel/watcher-freebsd-x64": "2.5.1",
+ "@parcel/watcher-linux-arm-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm-musl": "2.5.1",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm64-musl": "2.5.1",
+ "@parcel/watcher-linux-x64-glibc": "2.5.1",
+ "@parcel/watcher-linux-x64-musl": "2.5.1",
+ "@parcel/watcher-win32-arm64": "2.5.1",
+ "@parcel/watcher-win32-ia32": "2.5.1",
+ "@parcel/watcher-win32-x64": "2.5.1"
+ }
+ },
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
+ "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
+ "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
+ "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
+ "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
+ "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
+ "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
+ "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
+ "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
+ "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
+ "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
+ "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
+ "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
+ "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -2531,38 +2943,43 @@
}
},
"node_modules/@pkgr/core": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
- "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
+ "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
},
"funding": {
- "url": "https://opencollective.com/unts"
+ "url": "https://opencollective.com/pkgr"
}
},
"node_modules/@popperjs/core": {
"version": "2.11.8",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@reduxjs/toolkit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.1.tgz",
- "integrity": "sha512-8CREoqJovQW/5I4yvvijm/emUiCCmcs4Ev4XPWd4mizSO+dD3g5G6w34QK5AGeNrSH7qM8Fl66j4vuV7dpOdkw==",
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.8.2.tgz",
+ "integrity": "sha512-MYlOhQ0sLdw4ud48FoC5w0dH9VfWQjtCjreKwYTT3l+r427qYC5Y8PihNutepr8XrNaBUDQo9khWUwQxZaqt5A==",
+ "license": "MIT",
"dependencies": {
+ "@standard-schema/spec": "^1.0.0",
+ "@standard-schema/utils": "^0.3.0",
"immer": "^10.0.3",
"redux": "^5.0.1",
"redux-thunk": "^3.1.0",
- "reselect": "^5.0.1"
+ "reselect": "^5.1.0"
},
"peerDependencies": {
- "react": "^16.9.0 || ^17.0.0 || ^18",
+ "react": "^16.9.0 || ^17.0.0 || ^18 || ^19",
"react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
},
"peerDependenciesMeta": {
@@ -2574,10 +2991,17 @@
}
}
},
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-beta.27",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
+ "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz",
- "integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz",
+ "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==",
"cpu": [
"arm"
],
@@ -2589,9 +3013,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz",
- "integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz",
+ "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==",
"cpu": [
"arm64"
],
@@ -2603,9 +3027,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz",
- "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz",
+ "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==",
"cpu": [
"arm64"
],
@@ -2617,9 +3041,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz",
- "integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz",
+ "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==",
"cpu": [
"x64"
],
@@ -2631,9 +3055,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz",
- "integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz",
+ "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==",
"cpu": [
"arm64"
],
@@ -2645,9 +3069,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz",
- "integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz",
+ "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==",
"cpu": [
"x64"
],
@@ -2659,9 +3083,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz",
- "integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz",
+ "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==",
"cpu": [
"arm"
],
@@ -2673,9 +3097,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz",
- "integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz",
+ "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==",
"cpu": [
"arm"
],
@@ -2687,9 +3111,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz",
- "integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz",
+ "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==",
"cpu": [
"arm64"
],
@@ -2701,9 +3125,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz",
- "integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz",
+ "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==",
"cpu": [
"arm64"
],
@@ -2715,9 +3139,9 @@
]
},
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz",
- "integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz",
+ "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==",
"cpu": [
"loong64"
],
@@ -2728,10 +3152,10 @@
"linux"
]
},
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz",
- "integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==",
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz",
+ "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==",
"cpu": [
"ppc64"
],
@@ -2743,9 +3167,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz",
- "integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz",
+ "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==",
"cpu": [
"riscv64"
],
@@ -2757,9 +3181,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz",
- "integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz",
+ "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==",
"cpu": [
"riscv64"
],
@@ -2771,9 +3195,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz",
- "integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz",
+ "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==",
"cpu": [
"s390x"
],
@@ -2785,9 +3209,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz",
- "integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz",
+ "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==",
"cpu": [
"x64"
],
@@ -2799,9 +3223,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz",
- "integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz",
+ "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==",
"cpu": [
"x64"
],
@@ -2813,9 +3237,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz",
- "integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz",
+ "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==",
"cpu": [
"arm64"
],
@@ -2827,9 +3251,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz",
- "integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz",
+ "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==",
"cpu": [
"ia32"
],
@@ -2841,9 +3265,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz",
- "integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz",
+ "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==",
"cpu": [
"x64"
],
@@ -2854,10 +3278,22 @@
"win32"
]
},
+ "node_modules/@standard-schema/spec": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
+ "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
+ "license": "MIT"
+ },
+ "node_modules/@standard-schema/utils": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz",
+ "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==",
+ "license": "MIT"
+ },
"node_modules/@testing-library/dom": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz",
- "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==",
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz",
+ "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2865,65 +3301,28 @@
"@babel/runtime": "^7.12.5",
"@types/aria-query": "^5.0.1",
"aria-query": "5.3.0",
- "chalk": "^4.1.0",
"dom-accessibility-api": "^0.5.9",
"lz-string": "^1.5.0",
+ "picocolors": "1.1.1",
"pretty-format": "^27.0.2"
},
"engines": {
"node": ">=18"
}
},
- "node_modules/@testing-library/dom/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@testing-library/dom/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@testing-library/dom/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@testing-library/jest-dom": {
- "version": "6.6.3",
- "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz",
- "integrity": "sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==",
+ "version": "6.6.4",
+ "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.4.tgz",
+ "integrity": "sha512-xDXgLjVunjHqczScfkCJ9iyjdNOVHvvCdqHSSxwM9L0l/wHkTRum67SDc020uAlCoqktJplgO2AAQeLP1wgqDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@adobe/css-tools": "^4.4.0",
"aria-query": "^5.0.0",
- "chalk": "^3.0.0",
"css.escape": "^1.5.1",
"dom-accessibility-api": "^0.6.3",
"lodash": "^4.17.21",
+ "picocolors": "^1.1.1",
"redent": "^3.0.0"
},
"engines": {
@@ -2932,45 +3331,12 @@
"yarn": ">=1"
}
},
- "node_modules/@testing-library/jest-dom/node_modules/chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
"integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
- "dev": true
- },
- "node_modules/@testing-library/jest-dom/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@testing-library/jest-dom/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
+ "license": "MIT"
},
"node_modules/@testing-library/react": {
"version": "16.3.0",
@@ -3018,13 +3384,15 @@
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
"integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/babel__core": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.20.7",
"@babel/types": "^7.20.7",
@@ -3034,10 +3402,11 @@
}
},
"node_modules/@types/babel__generator": {
- "version": "7.6.8",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
- "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.0.0"
}
@@ -3047,36 +3416,51 @@
"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.1.0",
"@babel/types": "^7.0.0"
}
},
"node_modules/@types/babel__traverse": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
- "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.2"
+ }
+ },
+ "node_modules/@types/chai": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz",
+ "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.20.7"
+ "@types/deep-eql": "*"
}
},
"node_modules/@types/cookie": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/country-flag-icons": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@types/country-flag-icons/-/country-flag-icons-1.2.2.tgz",
"integrity": "sha512-CefEn/J336TBDp7NX8JqzlDtCBOsm8M3r1Li0gEOt0HOMHF1XemNyrx9lSHjsafcb1yYWybU0N8ZAXuyCaND0w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/d3": {
"version": "7.4.3",
"resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz",
"integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==",
+ "license": "MIT",
"dependencies": {
"@types/d3-array": "*",
"@types/d3-axis": "*",
@@ -3113,12 +3497,14 @@
"node_modules/@types/d3-array": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz",
- "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg=="
+ "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==",
+ "license": "MIT"
},
"node_modules/@types/d3-axis": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz",
"integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==",
+ "license": "MIT",
"dependencies": {
"@types/d3-selection": "*"
}
@@ -3127,6 +3513,7 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz",
"integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==",
+ "license": "MIT",
"dependencies": {
"@types/d3-selection": "*"
}
@@ -3134,17 +3521,20 @@
"node_modules/@types/d3-chord": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz",
- "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg=="
+ "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==",
+ "license": "MIT"
},
"node_modules/@types/d3-color": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz",
- "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A=="
+ "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==",
+ "license": "MIT"
},
"node_modules/@types/d3-contour": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz",
"integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==",
+ "license": "MIT",
"dependencies": {
"@types/d3-array": "*",
"@types/geojson": "*"
@@ -3153,17 +3543,20 @@
"node_modules/@types/d3-delaunay": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
- "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw=="
+ "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==",
+ "license": "MIT"
},
"node_modules/@types/d3-dispatch": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz",
- "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ=="
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz",
+ "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==",
+ "license": "MIT"
},
"node_modules/@types/d3-drag": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz",
"integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==",
+ "license": "MIT",
"dependencies": {
"@types/d3-selection": "*"
}
@@ -3171,35 +3564,41 @@
"node_modules/@types/d3-dsv": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz",
- "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g=="
+ "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==",
+ "license": "MIT"
},
"node_modules/@types/d3-ease": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz",
- "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA=="
+ "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==",
+ "license": "MIT"
},
"node_modules/@types/d3-fetch": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz",
"integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==",
+ "license": "MIT",
"dependencies": {
"@types/d3-dsv": "*"
}
},
"node_modules/@types/d3-force": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.9.tgz",
- "integrity": "sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA=="
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz",
+ "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==",
+ "license": "MIT"
},
"node_modules/@types/d3-format": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz",
- "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g=="
+ "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==",
+ "license": "MIT"
},
"node_modules/@types/d3-geo": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz",
"integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==",
+ "license": "MIT",
"dependencies": {
"@types/geojson": "*"
}
@@ -3207,40 +3606,47 @@
"node_modules/@types/d3-hierarchy": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz",
- "integrity": "sha512-QwjxA3+YCKH3N1Rs3uSiSy1bdxlLB1uUiENXeJudBoAFvtDuswUxLcanoOaR2JYn1melDTuIXR8VhnVyI3yG/A=="
+ "integrity": "sha512-QwjxA3+YCKH3N1Rs3uSiSy1bdxlLB1uUiENXeJudBoAFvtDuswUxLcanoOaR2JYn1melDTuIXR8VhnVyI3yG/A==",
+ "license": "MIT"
},
"node_modules/@types/d3-interpolate": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
"integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==",
+ "license": "MIT",
"dependencies": {
"@types/d3-color": "*"
}
},
"node_modules/@types/d3-path": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz",
- "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz",
+ "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==",
+ "license": "MIT"
},
"node_modules/@types/d3-polygon": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz",
- "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA=="
+ "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==",
+ "license": "MIT"
},
"node_modules/@types/d3-quadtree": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz",
- "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg=="
+ "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==",
+ "license": "MIT"
},
"node_modules/@types/d3-random": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz",
- "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ=="
+ "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==",
+ "license": "MIT"
},
"node_modules/@types/d3-sankey": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/@types/d3-sankey/-/d3-sankey-0.11.2.tgz",
"integrity": "sha512-U6SrTWUERSlOhnpSrgvMX64WblX1AxX6nEjI2t3mLK2USpQrnbwYYK+AS9SwiE7wgYmOsSSKoSdr8aoKBH0HgQ==",
+ "license": "MIT",
"dependencies": {
"@types/d3-shape": "^1"
}
@@ -3248,61 +3654,71 @@
"node_modules/@types/d3-sankey/node_modules/@types/d3-path": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-1.0.11.tgz",
- "integrity": "sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw=="
+ "integrity": "sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==",
+ "license": "MIT"
},
"node_modules/@types/d3-sankey/node_modules/@types/d3-shape": {
"version": "1.3.12",
"resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.3.12.tgz",
"integrity": "sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==",
+ "license": "MIT",
"dependencies": {
"@types/d3-path": "^1"
}
},
"node_modules/@types/d3-scale": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz",
- "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==",
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz",
+ "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==",
+ "license": "MIT",
"dependencies": {
"@types/d3-time": "*"
}
},
"node_modules/@types/d3-scale-chromatic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz",
- "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw=="
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
+ "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==",
+ "license": "MIT"
},
"node_modules/@types/d3-selection": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.10.tgz",
- "integrity": "sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg=="
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz",
+ "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==",
+ "license": "MIT"
},
"node_modules/@types/d3-shape": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz",
- "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz",
+ "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==",
+ "license": "MIT",
"dependencies": {
"@types/d3-path": "*"
}
},
"node_modules/@types/d3-time": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz",
- "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw=="
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz",
+ "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==",
+ "license": "MIT"
},
"node_modules/@types/d3-time-format": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz",
- "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg=="
+ "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==",
+ "license": "MIT"
},
"node_modules/@types/d3-timer": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz",
- "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="
+ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
+ "license": "MIT"
},
"node_modules/@types/d3-transition": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.8.tgz",
- "integrity": "sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz",
+ "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==",
+ "license": "MIT",
"dependencies": {
"@types/d3-selection": "*"
}
@@ -3311,6 +3727,7 @@
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz",
"integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==",
+ "license": "MIT",
"dependencies": {
"@types/d3-interpolate": "*",
"@types/d3-selection": "*"
@@ -3320,132 +3737,157 @@
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
+ "license": "MIT",
"dependencies": {
"@types/ms": "*"
}
},
+ "node_modules/@types/deep-eql": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
+ "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/eslint": {
- "version": "8.56.5",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz",
- "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
+ "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/estree": "*",
"@types/json-schema": "*"
}
},
"node_modules/@types/estree": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
- "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"license": "MIT"
},
"node_modules/@types/estree-jsx": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
"integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
+ "license": "MIT",
"dependencies": {
"@types/estree": "*"
}
},
"node_modules/@types/geojson": {
- "version": "7946.0.14",
- "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz",
- "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg=="
+ "version": "7946.0.16",
+ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz",
+ "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==",
+ "license": "MIT"
},
"node_modules/@types/hast": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
"integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "*"
}
},
"node_modules/@types/hoist-non-react-statics": {
- "version": "3.3.5",
- "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz",
- "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz",
+ "integrity": "sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*"
}
},
"node_modules/@types/json-schema": {
"version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/katex": {
"version": "0.16.7",
"resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz",
- "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ=="
+ "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==",
+ "license": "MIT"
},
"node_modules/@types/mdast": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz",
- "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "*"
}
},
"node_modules/@types/ms": {
- "version": "0.7.34",
- "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
- "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g=="
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
+ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
+ "license": "MIT"
},
"node_modules/@types/node": {
- "version": "20.11.28",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz",
- "integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==",
+ "version": "24.1.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz",
+ "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "undici-types": "~5.26.4"
+ "undici-types": "~7.8.0"
}
},
"node_modules/@types/node-fetch": {
- "version": "2.6.11",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz",
- "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==",
+ "version": "2.6.13",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.13.tgz",
+ "integrity": "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
- "form-data": "^4.0.0"
+ "form-data": "^4.0.4"
}
},
"node_modules/@types/parse-json": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
- "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
+ "license": "MIT"
},
"node_modules/@types/polylabel": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@types/polylabel/-/polylabel-1.1.3.tgz",
- "integrity": "sha512-9Zw2KoDpi+T4PZz2G6pO2xArE0m/GSMTW1MIxF2s8ZY8x9XDO6fv9um0ydRGvcbkFLlaq8yNK6eZxnmMZtDgWQ=="
+ "integrity": "sha512-9Zw2KoDpi+T4PZz2G6pO2xArE0m/GSMTW1MIxF2s8ZY8x9XDO6fv9um0ydRGvcbkFLlaq8yNK6eZxnmMZtDgWQ==",
+ "license": "MIT"
},
"node_modules/@types/prop-types": {
- "version": "15.7.11",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
- "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng=="
+ "version": "15.7.15",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
+ "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
+ "license": "MIT"
},
"node_modules/@types/react": {
- "version": "18.2.66",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.66.tgz",
- "integrity": "sha512-OYTmMI4UigXeFMF/j4uv0lBBEbongSgptPrHBxqME44h9+yNov+oL6Z3ocJKo0WyXR84sQUNeyIp9MRfckvZpg==",
+ "version": "18.3.23",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz",
+ "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==",
+ "license": "MIT",
"dependencies": {
"@types/prop-types": "*",
- "@types/scheduler": "*",
"csstype": "^3.0.2"
}
},
"node_modules/@types/react-dom": {
- "version": "18.2.22",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.22.tgz",
- "integrity": "sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==",
+ "version": "18.3.7",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
+ "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
"dev": true,
- "dependencies": {
- "@types/react": "*"
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "^18.0.0"
}
},
"node_modules/@types/react-lazyload": {
@@ -3453,6 +3895,7 @@
"resolved": "https://registry.npmjs.org/@types/react-lazyload/-/react-lazyload-3.2.3.tgz",
"integrity": "sha512-s03gWlHXiFqZr7TEFDTx8Lkl+ZEYrwTkXP9MNZ3Z3blzsPrnkYjgeSK2tjfzVv/TYVCnDk6TZwNRDHQlHy/1Ug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/react": "*"
}
@@ -3486,10 +3929,11 @@
}
},
"node_modules/@types/react-redux": {
- "version": "7.1.33",
- "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.33.tgz",
- "integrity": "sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==",
+ "version": "7.1.34",
+ "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.34.tgz",
+ "integrity": "sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/hoist-non-react-statics": "^3.3.0",
"@types/react": "*",
@@ -3502,6 +3946,7 @@
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
"integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.9.2"
}
@@ -3511,33 +3956,32 @@
"resolved": "https://registry.npmjs.org/@types/react-scroll-sync/-/react-scroll-sync-0.9.0.tgz",
"integrity": "sha512-DFJzqtF0lMUNxsKZ9aoFS+LGieGLXWQVWvCMTZWKm/qcGz+GCNTqwdHsnyWW3yy/aNSUxlXCAWdHaemGaES6lQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/react": "*"
}
},
"node_modules/@types/react-transition-group": {
- "version": "4.4.10",
- "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz",
- "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==",
- "dependencies": {
+ "version": "4.4.12",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz",
+ "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==",
+ "license": "MIT",
+ "peerDependencies": {
"@types/react": "*"
}
},
- "node_modules/@types/scheduler": {
- "version": "0.16.8",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
- "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A=="
- },
"node_modules/@types/statuses": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz",
- "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==",
- "dev": true
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.6.tgz",
+ "integrity": "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/svg-arc-to-cubic-bezier": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@types/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.2.tgz",
- "integrity": "sha512-XQtKy9lmkKlV+c3Jelo7kxNPw7qOqIq3GcnOhywGZHF7zw5D5m+Ssigbmf3Turbe/A8Ur+lRh8TYjuxXKvyivw=="
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/@types/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.3.tgz",
+ "integrity": "sha512-UNOnbTtl0nVTm8hwKaz5R5VZRvSulFMGojO5+Q7yucKxBoCaTtS4ibSQVRHo5VW5AaRo145U8p1Vfg5KrYe9Bg==",
+ "license": "MIT"
},
"node_modules/@types/tough-cookie": {
"version": "4.0.5",
@@ -3547,26 +3991,29 @@
"license": "MIT"
},
"node_modules/@types/unist": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
- "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ=="
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "license": "MIT"
},
"node_modules/@types/use-sync-external-store": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
- "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz",
+ "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==",
+ "license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz",
- "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz",
+ "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.12.0",
- "@typescript-eslint/type-utils": "7.12.0",
- "@typescript-eslint/utils": "7.12.0",
- "@typescript-eslint/visitor-keys": "7.12.0",
+ "@typescript-eslint/scope-manager": "7.18.0",
+ "@typescript-eslint/type-utils": "7.18.0",
+ "@typescript-eslint/utils": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -3590,15 +4037,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz",
- "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz",
+ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/scope-manager": "7.12.0",
- "@typescript-eslint/types": "7.12.0",
- "@typescript-eslint/typescript-estree": "7.12.0",
- "@typescript-eslint/visitor-keys": "7.12.0",
+ "@typescript-eslint/scope-manager": "7.18.0",
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/typescript-estree": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0",
"debug": "^4.3.4"
},
"engines": {
@@ -3618,13 +4066,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz",
- "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz",
+ "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.12.0",
- "@typescript-eslint/visitor-keys": "7.12.0"
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -3635,13 +4084,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz",
- "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz",
+ "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "7.12.0",
- "@typescript-eslint/utils": "7.12.0",
+ "@typescript-eslint/typescript-estree": "7.18.0",
+ "@typescript-eslint/utils": "7.18.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@@ -3662,10 +4112,11 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz",
- "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz",
+ "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.18.0 || >=20.0.0"
},
@@ -3675,13 +4126,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz",
- "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz",
+ "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/types": "7.12.0",
- "@typescript-eslint/visitor-keys": "7.12.0",
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -3703,10 +4155,11 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
- "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -3715,15 +4168,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz",
- "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz",
+ "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "7.12.0",
- "@typescript-eslint/types": "7.12.0",
- "@typescript-eslint/typescript-estree": "7.12.0"
+ "@typescript-eslint/scope-manager": "7.18.0",
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/typescript-estree": "7.18.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -3737,12 +4191,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz",
- "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz",
+ "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/types": "7.18.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@@ -3758,6 +4213,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -3766,20 +4222,22 @@
}
},
"node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
+ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
+ "license": "ISC"
},
"node_modules/@vitejs/plugin-react": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz",
- "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz",
+ "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/core": "^7.26.10",
- "@babel/plugin-transform-react-jsx-self": "^7.25.9",
- "@babel/plugin-transform-react-jsx-source": "^7.25.9",
+ "@babel/core": "^7.28.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+ "@rolldown/pluginutils": "1.0.0-beta.27",
"@types/babel__core": "^7.20.5",
"react-refresh": "^0.17.0"
},
@@ -3787,19 +4245,20 @@
"node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
- "vite": "^4.2.0 || ^5.0.0 || ^6.0.0"
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
}
},
"node_modules/@vitest/coverage-v8": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.1.3.tgz",
- "integrity": "sha512-cj76U5gXCl3g88KSnf80kof6+6w+K4BjOflCl7t6yRJPDuCrHtVu0SgNYOUARJOL5TI8RScDbm5x4s1/P9bvpw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz",
+ "integrity": "sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.3.0",
"@bcoe/v8-coverage": "^1.0.2",
- "debug": "^4.4.0",
+ "ast-v8-to-istanbul": "^0.3.3",
+ "debug": "^4.4.1",
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
"istanbul-lib-source-maps": "^5.0.6",
@@ -3814,8 +4273,8 @@
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "@vitest/browser": "3.1.3",
- "vitest": "3.1.3"
+ "@vitest/browser": "3.2.4",
+ "vitest": "3.2.4"
},
"peerDependenciesMeta": {
"@vitest/browser": {
@@ -3824,14 +4283,15 @@
}
},
"node_modules/@vitest/expect": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.3.tgz",
- "integrity": "sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz",
+ "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "3.1.3",
- "@vitest/utils": "3.1.3",
+ "@types/chai": "^5.2.2",
+ "@vitest/spy": "3.2.4",
+ "@vitest/utils": "3.2.4",
"chai": "^5.2.0",
"tinyrainbow": "^2.0.0"
},
@@ -3840,13 +4300,13 @@
}
},
"node_modules/@vitest/mocker": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.3.tgz",
- "integrity": "sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz",
+ "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "3.1.3",
+ "@vitest/spy": "3.2.4",
"estree-walker": "^3.0.3",
"magic-string": "^0.30.17"
},
@@ -3855,7 +4315,7 @@
},
"peerDependencies": {
"msw": "^2.4.9",
- "vite": "^5.0.0 || ^6.0.0"
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
},
"peerDependenciesMeta": {
"msw": {
@@ -3867,9 +4327,9 @@
}
},
"node_modules/@vitest/pretty-format": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.3.tgz",
- "integrity": "sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
+ "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3880,27 +4340,28 @@
}
},
"node_modules/@vitest/runner": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.3.tgz",
- "integrity": "sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz",
+ "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "3.1.3",
- "pathe": "^2.0.3"
+ "@vitest/utils": "3.2.4",
+ "pathe": "^2.0.3",
+ "strip-literal": "^3.0.0"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/snapshot": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.3.tgz",
- "integrity": "sha512-XVa5OPNTYUsyqG9skuUkFzAeFnEzDp8hQu7kZ0N25B1+6KjGm4hWLtURyBbsIAOekfWQ7Wuz/N/XXzgYO3deWQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
+ "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.3",
+ "@vitest/pretty-format": "3.2.4",
"magic-string": "^0.30.17",
"pathe": "^2.0.3"
},
@@ -3909,27 +4370,27 @@
}
},
"node_modules/@vitest/spy": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.3.tgz",
- "integrity": "sha512-x6w+ctOEmEXdWaa6TO4ilb7l9DxPR5bwEb6hILKuxfU1NqWT2mpJD9NJN7t3OTfxmVlOMrvtoFJGdgyzZ605lQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz",
+ "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "tinyspy": "^3.0.2"
+ "tinyspy": "^4.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/utils": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.3.tgz",
- "integrity": "sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz",
+ "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.3",
- "loupe": "^3.1.3",
+ "@vitest/pretty-format": "3.2.4",
+ "loupe": "^3.1.4",
"tinyrainbow": "^2.0.0"
},
"funding": {
@@ -3937,10 +4398,11 @@
}
},
"node_modules/acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -3953,18 +4415,17 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
"dev": true,
- "dependencies": {
- "debug": "^4.3.4"
- },
+ "license": "MIT",
"engines": {
"node": ">= 14"
}
@@ -3974,6 +4435,7 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -4006,6 +4468,7 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -4031,6 +4494,7 @@
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -4043,7 +4507,8 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/aria-query": {
"version": "5.3.0",
@@ -4056,13 +4521,14 @@
}
},
"node_modules/array-buffer-byte-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
- "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
+ "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.5",
- "is-array-buffer": "^3.0.4"
+ "call-bound": "^1.0.3",
+ "is-array-buffer": "^3.0.5"
},
"engines": {
"node": ">= 0.4"
@@ -4072,16 +4538,20 @@
}
},
"node_modules/array-includes": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
- "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz",
+ "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "is-string": "^1.0.7"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.24.0",
+ "es-object-atoms": "^1.1.1",
+ "get-intrinsic": "^1.3.0",
+ "is-string": "^1.1.1",
+ "math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -4095,20 +4565,23 @@
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/array.prototype.findlast": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz",
- "integrity": "sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
+ "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.5",
+ "call-bind": "^1.0.7",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.3",
+ "es-abstract": "^1.23.2",
"es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
"es-shim-unscopables": "^1.0.2"
},
"engines": {
@@ -4119,15 +4592,16 @@
}
},
"node_modules/array.prototype.flat": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
- "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz",
+ "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0"
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -4137,15 +4611,16 @@
}
},
"node_modules/array.prototype.flatmap": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
- "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz",
+ "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0"
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -4154,45 +4629,37 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array.prototype.toreversed": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz",
- "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0"
- }
- },
"node_modules/array.prototype.tosorted": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz",
- "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz",
+ "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.5",
+ "call-bind": "^1.0.7",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.3",
- "es-errors": "^1.1.0",
+ "es-abstract": "^1.23.3",
+ "es-errors": "^1.3.0",
"es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
- "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
+ "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.1",
- "call-bind": "^1.0.5",
+ "call-bind": "^1.0.8",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.3",
- "es-errors": "^1.2.1",
- "get-intrinsic": "^1.2.3",
- "is-array-buffer": "^3.0.4",
- "is-shared-array-buffer": "^1.0.2"
+ "es-abstract": "^1.23.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "is-array-buffer": "^3.0.4"
},
"engines": {
"node": ">= 0.4"
@@ -4211,26 +4678,48 @@
"node": ">=12"
}
},
- "node_modules/asynciterator.prototype": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz",
- "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==",
+ "node_modules/ast-v8-to-istanbul": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.3.tgz",
+ "integrity": "sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-symbols": "^1.0.3"
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "estree-walker": "^3.0.3",
+ "js-tokens": "^9.0.1"
+ }
+ },
+ "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
+ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/async-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
+ "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/available-typed-arrays": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
"integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"possible-typed-array-names": "^1.0.0"
},
@@ -4245,6 +4734,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
"integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.12.5",
"cosmiconfig": "^7.0.0",
@@ -4259,6 +4749,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
"integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -4268,18 +4759,21 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
- "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
+ "license": "MIT"
},
"node_modules/bidi-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
"integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"require-from-string": "^2.0.2"
}
@@ -4289,6 +4783,7 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -4323,14 +4818,15 @@
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz",
"integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==",
+ "license": "MIT",
"dependencies": {
"base64-js": "^1.1.2"
}
},
"node_modules/browserslist": {
- "version": "4.24.5",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz",
- "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==",
+ "version": "4.25.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz",
+ "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==",
"dev": true,
"funding": [
{
@@ -4348,8 +4844,8 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001716",
- "electron-to-chromium": "^1.5.149",
+ "caniuse-lite": "^1.0.30001726",
+ "electron-to-chromium": "^1.5.173",
"node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.3"
},
@@ -4371,15 +4867,44 @@
}
},
"node_modules/call-bind": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
- "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "license": "MIT",
"dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
"es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.1"
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
},
"engines": {
"node": ">= 0.4"
@@ -4392,14 +4917,15 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001718",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz",
- "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==",
+ "version": "1.0.30001731",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001731.tgz",
+ "integrity": "sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==",
"dev": true,
"funding": [
{
@@ -4421,15 +4947,16 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
"integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/chai": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz",
- "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz",
+ "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4440,17 +4967,21 @@
"pathval": "^2.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/chalk": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
- "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
"engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ "node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
@@ -4460,6 +4991,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
"integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -4469,6 +5001,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
"integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -4478,6 +5011,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
"integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -4487,6 +5021,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
"integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -4503,39 +5038,19 @@
}
},
"node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
+ "readdirp": "^4.0.1"
},
"engines": {
- "node": ">= 8.10.0"
+ "node": ">= 14.16.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
}
},
"node_modules/cli-cursor": {
@@ -4586,6 +5101,7 @@
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
@@ -4599,13 +5115,15 @@
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cliui/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -4615,6 +5133,7 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -4629,6 +5148,7 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -4645,14 +5165,16 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/clsx": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz",
- "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -4689,6 +5211,7 @@
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
@@ -4700,6 +5223,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
"integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -4709,6 +5233,7 @@
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "license": "MIT",
"engines": {
"node": ">= 10"
}
@@ -4717,13 +5242,15 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cookie": {
"version": "0.7.2",
@@ -4739,6 +5266,7 @@
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "license": "MIT",
"dependencies": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.2.1",
@@ -4760,14 +5288,16 @@
}
},
"node_modules/country-flag-icons": {
- "version": "1.5.9",
- "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.5.9.tgz",
- "integrity": "sha512-9jrjv2w7kRbqNtdtMdK2j3gmDIZzd5l9L2pZiQjF9J0mUcB+NKIGDNADTDHBEp8EQtjOkCOcciJGGSOpERdXPQ=="
+ "version": "1.5.19",
+ "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.5.19.tgz",
+ "integrity": "sha512-D/ZkRyj+ywJC6b2IrAN3/tpbReMUqmuRLlcKFoY/o0+EPQN9Ev/e8tV+D3+9scvu/tarxwLErNwS73C3yzxs/g==",
+ "license": "MIT"
},
"node_modules/cross-fetch": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
"integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "license": "MIT",
"dependencies": {
"node-fetch": "^2.6.12"
}
@@ -4776,6 +5306,7 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -4794,17 +5325,20 @@
"node_modules/cross-fetch/node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "license": "MIT"
},
"node_modules/cross-fetch/node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "license": "BSD-2-Clause"
},
"node_modules/cross-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -4828,13 +5362,15 @@
"node_modules/crypto-js": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
- "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
+ "license": "MIT"
},
"node_modules/css-tree": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
"integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mdn-data": "2.0.30",
"source-map-js": "^1.0.1"
@@ -4847,35 +5383,48 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
"integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cssfontparser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/cssfontparser/-/cssfontparser-1.2.1.tgz",
"integrity": "sha512-6tun4LoZnj7VN6YeegOVb67KBX/7JJsqvj+pv3ZA7F878/eN33AbGa5b/S/wXxS/tcp8nc40xRUrsPlxIyNUPg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cssstyle": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz",
- "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==",
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz",
+ "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "rrweb-cssom": "^0.6.0"
+ "@asamuzakjp/css-color": "^3.2.0",
+ "rrweb-cssom": "^0.8.0"
},
"engines": {
"node": ">=18"
}
},
+ "node_modules/cssstyle/node_modules/rrweb-cssom": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz",
+ "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "license": "MIT"
},
"node_modules/d3": {
"version": "7.9.0",
"resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz",
"integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==",
+ "license": "ISC",
"dependencies": {
"d3-array": "3",
"d3-axis": "3",
@@ -4916,6 +5465,7 @@
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
"integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
+ "license": "ISC",
"dependencies": {
"internmap": "1 - 2"
},
@@ -4927,6 +5477,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
"integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -4935,6 +5486,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
"integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
+ "license": "ISC",
"dependencies": {
"d3-dispatch": "1 - 3",
"d3-drag": "2 - 3",
@@ -4950,6 +5502,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
"integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
+ "license": "ISC",
"dependencies": {
"d3-path": "1 - 3"
},
@@ -4961,6 +5514,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
"integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -4969,6 +5523,7 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
"integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
+ "license": "ISC",
"dependencies": {
"d3-array": "^3.2.0"
},
@@ -4980,6 +5535,7 @@
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
"integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
+ "license": "ISC",
"dependencies": {
"delaunator": "5"
},
@@ -4991,6 +5547,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
"integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -4999,6 +5556,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
"integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
+ "license": "ISC",
"dependencies": {
"d3-dispatch": "1 - 3",
"d3-selection": "3"
@@ -5011,6 +5569,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
"integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
+ "license": "ISC",
"dependencies": {
"commander": "7",
"iconv-lite": "0.6",
@@ -5035,6 +5594,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
"integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=12"
}
@@ -5043,6 +5603,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
"integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
+ "license": "ISC",
"dependencies": {
"d3-dsv": "1 - 3"
},
@@ -5054,6 +5615,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
"integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
+ "license": "ISC",
"dependencies": {
"d3-dispatch": "1 - 3",
"d3-quadtree": "1 - 3",
@@ -5067,6 +5629,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
"integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -5075,6 +5638,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
"integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
+ "license": "ISC",
"dependencies": {
"d3-array": "2.5.0 - 3"
},
@@ -5086,6 +5650,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
"integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -5094,6 +5659,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
"integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+ "license": "ISC",
"dependencies": {
"d3-color": "1 - 3"
},
@@ -5105,6 +5671,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
"integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -5113,6 +5680,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
"integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -5121,6 +5689,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
"integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -5129,6 +5698,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
"integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -5137,6 +5707,7 @@
"version": "0.12.3",
"resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz",
"integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==",
+ "license": "BSD-3-Clause",
"dependencies": {
"d3-array": "1 - 2",
"d3-shape": "^1.2.0"
@@ -5146,6 +5717,7 @@
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
"integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+ "license": "BSD-3-Clause",
"dependencies": {
"internmap": "^1.0.0"
}
@@ -5153,12 +5725,14 @@
"node_modules/d3-sankey/node_modules/d3-path": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
- "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="
+ "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==",
+ "license": "BSD-3-Clause"
},
"node_modules/d3-sankey/node_modules/d3-shape": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
"integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+ "license": "BSD-3-Clause",
"dependencies": {
"d3-path": "1"
}
@@ -5166,12 +5740,14 @@
"node_modules/d3-sankey/node_modules/internmap": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
- "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw=="
+ "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
+ "license": "ISC"
},
"node_modules/d3-scale": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
"integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+ "license": "ISC",
"dependencies": {
"d3-array": "2.10.0 - 3",
"d3-format": "1 - 3",
@@ -5187,6 +5763,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
"integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
+ "license": "ISC",
"dependencies": {
"d3-color": "1 - 3",
"d3-interpolate": "1 - 3"
@@ -5199,6 +5776,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -5207,6 +5785,7 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
"integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
+ "license": "ISC",
"dependencies": {
"d3-path": "^3.1.0"
},
@@ -5218,6 +5797,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
"integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+ "license": "ISC",
"dependencies": {
"d3-array": "2 - 3"
},
@@ -5229,6 +5809,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
"integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+ "license": "ISC",
"dependencies": {
"d3-time": "1 - 3"
},
@@ -5240,6 +5821,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
"integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -5248,6 +5830,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
"integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
+ "license": "ISC",
"dependencies": {
"d3-color": "1 - 3",
"d3-dispatch": "1 - 3",
@@ -5266,6 +5849,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/d3-voronoi-map/-/d3-voronoi-map-2.1.1.tgz",
"integrity": "sha512-mCXfz/kD9IQxjHaU2IMjkO8fSo4J6oysPR2iL+omDsCy1i1Qn6BQ/e4hEAW8C6ms2kfuHwqtbNom80Hih94YsA==",
+ "license": "BSD-3-Clause",
"dependencies": {
"d3-dispatch": "2.*",
"d3-polygon": "2.*",
@@ -5276,22 +5860,26 @@
"node_modules/d3-voronoi-map/node_modules/d3-dispatch": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz",
- "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA=="
+ "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==",
+ "license": "BSD-3-Clause"
},
"node_modules/d3-voronoi-map/node_modules/d3-polygon": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz",
- "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ=="
+ "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==",
+ "license": "BSD-3-Clause"
},
"node_modules/d3-voronoi-map/node_modules/d3-timer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz",
- "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA=="
+ "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==",
+ "license": "BSD-3-Clause"
},
"node_modules/d3-voronoi-treemap": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/d3-voronoi-treemap/-/d3-voronoi-treemap-1.1.2.tgz",
"integrity": "sha512-7odu9HdG/yLPWwzDteJq4yd9Q/NwgQV7IE/u36VQtcCK7k1sZwDqbkHCeMKNTBsq5mQjDwolTsrXcU0j8ZEMCA==",
+ "license": "BSD-3-Clause",
"dependencies": {
"d3-voronoi-map": "2.*"
}
@@ -5300,6 +5888,7 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/d3-weighted-voronoi/-/d3-weighted-voronoi-1.1.3.tgz",
"integrity": "sha512-C3WdvSKl9aqhAy+f3QT3PPsQG6V+ajDfYO3BSclQDSD+araW2xDBFIH67aKzsSuuuKaX8K2y2dGq1fq/dWTVig==",
+ "license": "BSD-3-Clause",
"dependencies": {
"d3-array": "2",
"d3-polygon": "2"
@@ -5309,6 +5898,7 @@
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
"integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+ "license": "BSD-3-Clause",
"dependencies": {
"internmap": "^1.0.0"
}
@@ -5316,17 +5906,20 @@
"node_modules/d3-weighted-voronoi/node_modules/d3-polygon": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz",
- "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ=="
+ "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==",
+ "license": "BSD-3-Clause"
},
"node_modules/d3-weighted-voronoi/node_modules/internmap": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
- "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw=="
+ "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
+ "license": "ISC"
},
"node_modules/d3-zoom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
"integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
+ "license": "ISC",
"dependencies": {
"d3-dispatch": "1 - 3",
"d3-drag": "2 - 3",
@@ -5343,6 +5936,7 @@
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
"integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 12"
}
@@ -5352,6 +5946,7 @@
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
"integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"whatwg-mimetype": "^4.0.0",
"whatwg-url": "^14.0.0"
@@ -5360,10 +5955,65 @@
"node": ">=18"
}
},
+ "node_modules/data-view-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
+ "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
+ "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/inspect-js"
+ }
+ },
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
+ "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/dayjs": {
- "version": "1.11.10",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
- "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
+ "version": "1.11.13",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
+ "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
+ "license": "MIT"
},
"node_modules/debug": {
"version": "4.4.1",
@@ -5383,15 +6033,17 @@
}
},
"node_modules/decimal.js": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
- "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
- "dev": true
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
+ "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/decode-named-character-reference": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz",
- "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz",
+ "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==",
+ "license": "MIT",
"dependencies": {
"character-entities": "^2.0.0"
},
@@ -5403,7 +6055,8 @@
"node_modules/deep-diff": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz",
- "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg=="
+ "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==",
+ "license": "MIT"
},
"node_modules/deep-eql": {
"version": "5.0.2",
@@ -5415,16 +6068,38 @@
"node": ">=6"
}
},
+ "node_modules/deep-equal": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz",
+ "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-arguments": "^1.1.1",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.5.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/deepmerge": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -5433,6 +6108,7 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -5449,6 +6125,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
@@ -5465,6 +6142,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
"integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
+ "license": "ISC",
"dependencies": {
"robust-predicates": "^3.0.2"
}
@@ -5474,6 +6152,7 @@
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.4.0"
}
@@ -5482,14 +6161,30 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
+ "node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/devlop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
"integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+ "license": "MIT",
"dependencies": {
"dequal": "^2.0.0"
},
@@ -5501,13 +6196,15 @@
"node_modules/dfa": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz",
- "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="
+ "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==",
+ "license": "MIT"
},
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-type": "^4.0.0"
},
@@ -5520,6 +6217,7 @@
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
@@ -5531,12 +6229,14 @@
"version": "0.5.16",
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
"integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/dom-helpers": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
"integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.8.7",
"csstype": "^3.0.2"
@@ -5549,6 +6249,20 @@
"deprecated": "dommatrix is no longer maintained. Please use @thednp/dommatrix.",
"license": "MIT"
},
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -5557,9 +6271,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.152",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.152.tgz",
- "integrity": "sha512-xBOfg/EBaIlVsHipHl2VdTPJRSvErNUaqW8ejTq5OlOlIYx1wOllCHsAvAIrr55jD1IYEfdR86miUEt8H5IeJg==",
+ "version": "1.5.194",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.194.tgz",
+ "integrity": "sha512-SdnWJwSUot04UR51I2oPD8kuP2VI37/CADR1OHsFOUzZIvfWJBO6q11k5P/uKNyTT3cdOsnyjkrZ+DDShqYqJA==",
"dev": true,
"license": "ISC"
},
@@ -5571,9 +6285,10 @@
"license": "MIT"
},
"node_modules/entities": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
@@ -5598,57 +6313,72 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
}
},
"node_modules/es-abstract": {
- "version": "1.22.5",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz",
- "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==",
+ "version": "1.24.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz",
+ "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "array-buffer-byte-length": "^1.0.1",
- "arraybuffer.prototype.slice": "^1.0.3",
+ "array-buffer-byte-length": "^1.0.2",
+ "arraybuffer.prototype.slice": "^1.0.4",
"available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.7",
- "es-define-property": "^1.0.0",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "data-view-buffer": "^1.0.2",
+ "data-view-byte-length": "^1.0.2",
+ "data-view-byte-offset": "^1.0.1",
+ "es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
- "es-set-tostringtag": "^2.0.3",
- "es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.6",
- "get-intrinsic": "^1.2.4",
- "get-symbol-description": "^1.0.2",
- "globalthis": "^1.0.3",
- "gopd": "^1.0.1",
+ "es-object-atoms": "^1.1.1",
+ "es-set-tostringtag": "^2.1.0",
+ "es-to-primitive": "^1.3.0",
+ "function.prototype.name": "^1.1.8",
+ "get-intrinsic": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "get-symbol-description": "^1.1.0",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
"has-property-descriptors": "^1.0.2",
- "has-proto": "^1.0.3",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.1",
- "internal-slot": "^1.0.7",
- "is-array-buffer": "^3.0.4",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.1.0",
+ "is-array-buffer": "^3.0.5",
"is-callable": "^1.2.7",
+ "is-data-view": "^1.0.2",
"is-negative-zero": "^2.0.3",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.3",
- "is-string": "^1.0.7",
- "is-typed-array": "^1.1.13",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.13.1",
+ "is-regex": "^1.2.1",
+ "is-set": "^2.0.3",
+ "is-shared-array-buffer": "^1.0.4",
+ "is-string": "^1.1.1",
+ "is-typed-array": "^1.1.15",
+ "is-weakref": "^1.1.1",
+ "math-intrinsics": "^1.1.0",
+ "object-inspect": "^1.13.4",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.5",
- "regexp.prototype.flags": "^1.5.2",
- "safe-array-concat": "^1.1.0",
- "safe-regex-test": "^1.0.3",
- "string.prototype.trim": "^1.2.8",
- "string.prototype.trimend": "^1.0.7",
- "string.prototype.trimstart": "^1.0.7",
- "typed-array-buffer": "^1.0.2",
- "typed-array-byte-length": "^1.0.1",
- "typed-array-byte-offset": "^1.0.2",
- "typed-array-length": "^1.0.5",
- "unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.14"
+ "object.assign": "^4.1.7",
+ "own-keys": "^1.0.1",
+ "regexp.prototype.flags": "^1.5.4",
+ "safe-array-concat": "^1.1.3",
+ "safe-push-apply": "^1.0.0",
+ "safe-regex-test": "^1.1.0",
+ "set-proto": "^1.0.0",
+ "stop-iteration-iterator": "^1.1.0",
+ "string.prototype.trim": "^1.2.10",
+ "string.prototype.trimend": "^1.0.9",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.3",
+ "typed-array-byte-length": "^1.0.3",
+ "typed-array-byte-offset": "^1.0.4",
+ "typed-array-length": "^1.0.7",
+ "unbox-primitive": "^1.1.0",
+ "which-typed-array": "^1.1.19"
},
"engines": {
"node": ">= 0.4"
@@ -5658,12 +6388,10 @@
}
},
"node_modules/es-define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
- "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
- "dependencies": {
- "get-intrinsic": "^1.2.4"
- },
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
@@ -5672,31 +6400,34 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-iterator-helpers": {
- "version": "1.0.17",
- "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz",
- "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz",
+ "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "asynciterator.prototype": "^1.0.0",
- "call-bind": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.4",
+ "es-abstract": "^1.23.6",
"es-errors": "^1.3.0",
- "es-set-tostringtag": "^2.0.2",
+ "es-set-tostringtag": "^2.0.3",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "globalthis": "^1.0.3",
+ "get-intrinsic": "^1.2.6",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
"has-property-descriptors": "^1.0.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.7",
- "iterator.prototype": "^1.1.2",
- "safe-array-concat": "^1.1.0"
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "iterator.prototype": "^1.1.4",
+ "safe-array-concat": "^1.1.3"
},
"engines": {
"node": ">= 0.4"
@@ -5709,38 +6440,57 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-set-tostringtag": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
- "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "get-intrinsic": "^1.2.4",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
"has-tostringtag": "^1.0.2",
- "hasown": "^2.0.1"
+ "hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-shim-unscopables": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
- "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz",
+ "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "hasown": "^2.0.0"
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
+ "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
+ "is-callable": "^1.2.7",
+ "is-date-object": "^1.0.5",
+ "is-symbol": "^1.0.4"
},
"engines": {
"node": ">= 0.4"
@@ -5750,9 +6500,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
- "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz",
+ "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -5763,31 +6513,32 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.4",
- "@esbuild/android-arm": "0.25.4",
- "@esbuild/android-arm64": "0.25.4",
- "@esbuild/android-x64": "0.25.4",
- "@esbuild/darwin-arm64": "0.25.4",
- "@esbuild/darwin-x64": "0.25.4",
- "@esbuild/freebsd-arm64": "0.25.4",
- "@esbuild/freebsd-x64": "0.25.4",
- "@esbuild/linux-arm": "0.25.4",
- "@esbuild/linux-arm64": "0.25.4",
- "@esbuild/linux-ia32": "0.25.4",
- "@esbuild/linux-loong64": "0.25.4",
- "@esbuild/linux-mips64el": "0.25.4",
- "@esbuild/linux-ppc64": "0.25.4",
- "@esbuild/linux-riscv64": "0.25.4",
- "@esbuild/linux-s390x": "0.25.4",
- "@esbuild/linux-x64": "0.25.4",
- "@esbuild/netbsd-arm64": "0.25.4",
- "@esbuild/netbsd-x64": "0.25.4",
- "@esbuild/openbsd-arm64": "0.25.4",
- "@esbuild/openbsd-x64": "0.25.4",
- "@esbuild/sunos-x64": "0.25.4",
- "@esbuild/win32-arm64": "0.25.4",
- "@esbuild/win32-ia32": "0.25.4",
- "@esbuild/win32-x64": "0.25.4"
+ "@esbuild/aix-ppc64": "0.25.8",
+ "@esbuild/android-arm": "0.25.8",
+ "@esbuild/android-arm64": "0.25.8",
+ "@esbuild/android-x64": "0.25.8",
+ "@esbuild/darwin-arm64": "0.25.8",
+ "@esbuild/darwin-x64": "0.25.8",
+ "@esbuild/freebsd-arm64": "0.25.8",
+ "@esbuild/freebsd-x64": "0.25.8",
+ "@esbuild/linux-arm": "0.25.8",
+ "@esbuild/linux-arm64": "0.25.8",
+ "@esbuild/linux-ia32": "0.25.8",
+ "@esbuild/linux-loong64": "0.25.8",
+ "@esbuild/linux-mips64el": "0.25.8",
+ "@esbuild/linux-ppc64": "0.25.8",
+ "@esbuild/linux-riscv64": "0.25.8",
+ "@esbuild/linux-s390x": "0.25.8",
+ "@esbuild/linux-x64": "0.25.8",
+ "@esbuild/netbsd-arm64": "0.25.8",
+ "@esbuild/netbsd-x64": "0.25.8",
+ "@esbuild/openbsd-arm64": "0.25.8",
+ "@esbuild/openbsd-x64": "0.25.8",
+ "@esbuild/openharmony-arm64": "0.25.8",
+ "@esbuild/sunos-x64": "0.25.8",
+ "@esbuild/win32-arm64": "0.25.8",
+ "@esbuild/win32-ia32": "0.25.8",
+ "@esbuild/win32-x64": "0.25.8"
}
},
"node_modules/escalade": {
@@ -5804,6 +6555,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -5812,16 +6564,18 @@
}
},
"node_modules/eslint": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
- "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
+ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
+ "@eslint/js": "8.57.1",
+ "@humanwhocodes/config-array": "^0.13.0",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -5867,10 +6621,11 @@
}
},
"node_modules/eslint-config-prettier": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz",
- "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==",
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz",
+ "integrity": "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==",
"dev": true,
+ "license": "MIT",
"bin": {
"eslint-config-prettier": "bin/cli.js"
},
@@ -5879,13 +6634,14 @@
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz",
- "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==",
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.3.tgz",
+ "integrity": "sha512-NAdMYww51ehKfDyDhv59/eIItUVzU0Io9H2E8nHNGKEeeqlnci+1gCvrHib6EmZdf6GxF+LCV5K7UC65Ezvw7w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
- "synckit": "^0.8.6"
+ "synckit": "^0.11.7"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -5896,7 +6652,7 @@
"peerDependencies": {
"@types/eslint": ">=8.0.0",
"eslint": ">=8.0.0",
- "eslint-config-prettier": "*",
+ "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0",
"prettier": ">=3.0.0"
},
"peerDependenciesMeta": {
@@ -5909,42 +6665,44 @@
}
},
"node_modules/eslint-plugin-react": {
- "version": "7.34.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz",
- "integrity": "sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ==",
+ "version": "7.37.5",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz",
+ "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "array-includes": "^3.1.7",
- "array.prototype.findlast": "^1.2.4",
- "array.prototype.flatmap": "^1.3.2",
- "array.prototype.toreversed": "^1.1.2",
- "array.prototype.tosorted": "^1.1.3",
+ "array-includes": "^3.1.8",
+ "array.prototype.findlast": "^1.2.5",
+ "array.prototype.flatmap": "^1.3.3",
+ "array.prototype.tosorted": "^1.1.4",
"doctrine": "^2.1.0",
- "es-iterator-helpers": "^1.0.17",
+ "es-iterator-helpers": "^1.2.1",
"estraverse": "^5.3.0",
+ "hasown": "^2.0.2",
"jsx-ast-utils": "^2.4.1 || ^3.0.0",
"minimatch": "^3.1.2",
- "object.entries": "^1.1.7",
- "object.fromentries": "^2.0.7",
- "object.hasown": "^1.1.3",
- "object.values": "^1.1.7",
+ "object.entries": "^1.1.9",
+ "object.fromentries": "^2.0.8",
+ "object.values": "^1.2.1",
"prop-types": "^15.8.1",
"resolve": "^2.0.0-next.5",
"semver": "^6.3.1",
- "string.prototype.matchall": "^4.0.10"
+ "string.prototype.matchall": "^4.0.12",
+ "string.prototype.repeat": "^1.0.0"
},
"engines": {
"node": ">=4"
},
"peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
}
},
"node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
+ "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -5968,6 +6726,7 @@
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
@@ -5980,6 +6739,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -5992,6 +6752,7 @@
"resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
"integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
@@ -6009,6 +6770,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.3.26.tgz",
"integrity": "sha512-oxe5JSPgRjco8caVLTh7Ti8PxpwJdhSV0hTQAmkFcNcmy/9DnqLB/oNVRA11RmVRP//2+jIIT6JuBEcpW3obYg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/utils": "^7.1.1"
},
@@ -6033,6 +6795,7 @@
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
@@ -6046,6 +6809,7 @@
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
@@ -6055,6 +6819,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=10"
}
@@ -6070,27 +6835,12 @@
"concat-map": "0.0.1"
}
},
- "node_modules/eslint/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
"node_modules/eslint/node_modules/eslint-scope": {
"version": "7.2.2",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
"integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@@ -6107,6 +6857,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -6114,35 +6865,12 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint/node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/eslint/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -6150,35 +6878,12 @@
"node": "*"
}
},
- "node_modules/eslint/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/eslint/node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/espree": {
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
@@ -6196,6 +6901,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -6204,10 +6910,11 @@
}
},
"node_modules/esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -6220,6 +6927,7 @@
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -6232,6 +6940,7 @@
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
@@ -6240,6 +6949,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
"integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
@@ -6260,6 +6970,7 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -6276,6 +6987,7 @@
"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^8.0.1",
@@ -6295,9 +7007,9 @@
}
},
"node_modules/expect-type": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz",
- "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz",
+ "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -6307,30 +7019,34 @@
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "license": "MIT"
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "license": "MIT"
},
"node_modules/fast-diff": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
"integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/fast-glob": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
- "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
"glob-parent": "^5.1.2",
"merge2": "^1.3.0",
- "micromatch": "^4.0.4"
+ "micromatch": "^4.0.8"
},
"engines": {
"node": ">=8.6.0"
@@ -6341,6 +7057,7 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -6352,19 +7069,22 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fastq": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
+ "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
@@ -6384,6 +7104,7 @@
"url": "https://paypal.me/jimmywarting"
}
],
+ "license": "MIT",
"dependencies": {
"node-domexception": "^1.0.0",
"web-streams-polyfill": "^3.0.3"
@@ -6397,6 +7118,7 @@
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"flat-cache": "^3.0.4"
},
@@ -6420,13 +7142,15 @@
"node_modules/find-root": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
- "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
+ "license": "MIT"
},
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -6443,6 +7167,7 @@
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
"integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"flatted": "^3.2.9",
"keyv": "^4.5.3",
@@ -6455,21 +7180,30 @@
"node_modules/flatpickr": {
"version": "4.6.13",
"resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.13.tgz",
- "integrity": "sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw=="
+ "integrity": "sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==",
+ "license": "MIT"
},
"node_modules/flatted": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
- "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
- "dev": true
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+ "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-callable": "^1.1.3"
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/foreground-child": {
@@ -6490,13 +7224,16 @@
}
},
"node_modules/form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
+ "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
"mime-types": "^2.1.12"
},
"engines": {
@@ -6508,6 +7245,7 @@
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
"integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fetch-blob": "^3.1.2"
},
@@ -6544,7 +7282,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/fsevents": {
"version": "2.3.3",
@@ -6552,6 +7291,7 @@
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"hasInstallScript": true,
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -6564,20 +7304,24 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/function.prototype.name": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
- "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
+ "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "functions-have-names": "^1.2.3"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "functions-have-names": "^1.2.3",
+ "hasown": "^2.0.2",
+ "is-callable": "^1.2.7"
},
"engines": {
"node": ">= 0.4"
@@ -6590,6 +7334,7 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -6599,6 +7344,7 @@
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
@@ -6608,6 +7354,7 @@
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
@@ -6626,15 +7373,21 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
- "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "license": "MIT",
"dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
"function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -6643,11 +7396,25 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/get-stream": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -6656,14 +7423,15 @@
}
},
"node_modules/get-symbol-description": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
- "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
+ "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.5",
+ "call-bound": "^1.0.3",
"es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4"
+ "get-intrinsic": "^1.2.6"
},
"engines": {
"node": ">= 0.4"
@@ -6673,9 +7441,9 @@
}
},
"node_modules/get-tsconfig": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz",
- "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==",
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
+ "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6689,7 +7457,9 @@
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
+ "license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -6710,6 +7480,7 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -6733,6 +7504,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -6741,21 +7513,30 @@
}
},
"node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "define-properties": "^1.1.3"
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -6769,6 +7550,7 @@
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
@@ -6788,14 +7570,16 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -6812,13 +7596,15 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/graphql": {
- "version": "16.8.1",
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz",
- "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==",
+ "version": "16.11.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.11.0.tgz",
+ "integrity": "sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
}
@@ -6827,21 +7613,37 @@
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz",
"integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==",
- "dev": true
+ "dev": true,
+ "license": "(Apache-2.0 OR MPL-1.1)"
},
"node_modules/has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
+ "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
"dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/has-property-descriptors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0"
},
@@ -6850,9 +7652,14 @@
}
},
"node_modules/has-proto": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
- "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
+ "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.0"
+ },
"engines": {
"node": ">= 0.4"
},
@@ -6861,9 +7668,10 @@
}
},
"node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -6875,6 +7683,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "license": "MIT",
"dependencies": {
"has-symbols": "^1.0.3"
},
@@ -6889,6 +7698,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -6897,12 +7707,13 @@
}
},
"node_modules/hast-util-from-dom": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz",
- "integrity": "sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz",
+ "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==",
+ "license": "ISC",
"dependencies": {
"@types/hast": "^3.0.0",
- "hastscript": "^8.0.0",
+ "hastscript": "^9.0.0",
"web-namespaces": "^2.0.0"
},
"funding": {
@@ -6911,9 +7722,10 @@
}
},
"node_modules/hast-util-from-html": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz",
- "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz",
+ "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"devlop": "^1.1.0",
@@ -6931,6 +7743,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz",
"integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"hast-util-from-dom": "^5.0.0",
@@ -6943,15 +7756,16 @@
}
},
"node_modules/hast-util-from-parse5": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz",
- "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz",
+ "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/unist": "^3.0.0",
"devlop": "^1.0.0",
- "hastscript": "^8.0.0",
- "property-information": "^6.0.0",
+ "hastscript": "^9.0.0",
+ "property-information": "^7.0.0",
"vfile": "^6.0.0",
"vfile-location": "^5.0.0",
"web-namespaces": "^2.0.0"
@@ -6965,6 +7779,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
"integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0"
},
@@ -6977,6 +7792,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz",
"integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0"
},
@@ -6986,9 +7802,10 @@
}
},
"node_modules/hast-util-to-jsx-runtime": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz",
- "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==",
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
+ "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==",
+ "license": "MIT",
"dependencies": {
"@types/estree": "^1.0.0",
"@types/hast": "^3.0.0",
@@ -7000,9 +7817,9 @@
"mdast-util-mdx-expression": "^2.0.0",
"mdast-util-mdx-jsx": "^3.0.0",
"mdast-util-mdxjs-esm": "^2.0.0",
- "property-information": "^6.0.0",
+ "property-information": "^7.0.0",
"space-separated-tokens": "^2.0.0",
- "style-to-object": "^1.0.0",
+ "style-to-js": "^1.0.0",
"unist-util-position": "^5.0.0",
"vfile-message": "^4.0.0"
},
@@ -7012,9 +7829,10 @@
}
},
"node_modules/hast-util-to-text": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz",
- "integrity": "sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz",
+ "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/unist": "^3.0.0",
@@ -7030,6 +7848,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
"integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0"
},
@@ -7039,14 +7858,15 @@
}
},
"node_modules/hastscript": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz",
- "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz",
+ "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"comma-separated-tokens": "^2.0.0",
"hast-util-parse-selector": "^4.0.0",
- "property-information": "^6.0.0",
+ "property-information": "^7.0.0",
"space-separated-tokens": "^2.0.0"
},
"funding": {
@@ -7058,12 +7878,14 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz",
"integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "license": "BSD-3-Clause",
"dependencies": {
"react-is": "^16.7.0"
}
@@ -7071,13 +7893,15 @@
"node_modules/hoist-non-react-statics/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "license": "MIT"
},
"node_modules/html-encoding-sniffer": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
"integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"whatwg-encoding": "^3.1.1"
},
@@ -7089,20 +7913,23 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/html-parse-stringify": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
"integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
+ "license": "MIT",
"dependencies": {
"void-elements": "3.1.0"
}
},
"node_modules/html-url-attributes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz",
- "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
+ "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==",
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
@@ -7113,6 +7940,7 @@
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.1.0",
"debug": "^4.3.4"
@@ -7122,12 +7950,13 @@
}
},
"node_modules/https-proxy-agent": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
- "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "agent-base": "^7.0.2",
+ "agent-base": "^7.1.2",
"debug": "4"
},
"engines": {
@@ -7139,6 +7968,7 @@
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=16.17.0"
}
@@ -7148,6 +7978,7 @@
"resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz",
"integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==",
"dev": true,
+ "license": "MIT",
"bin": {
"husky": "lib/bin.js"
},
@@ -7159,9 +7990,9 @@
}
},
"node_modules/i18next": {
- "version": "23.10.1",
- "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.10.1.tgz",
- "integrity": "sha512-NDiIzFbcs3O9PXpfhkjyf7WdqFn5Vq6mhzhtkXzj51aOcNuPNcTwuYNuXCpHsanZGHlHKL35G7huoFeVic1hng==",
+ "version": "23.16.8",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz",
+ "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==",
"funding": [
{
"type": "individual",
@@ -7176,22 +8007,25 @@
"url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
}
],
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.2"
}
},
"node_modules/i18next-browser-languagedetector": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz",
- "integrity": "sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==",
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.2.tgz",
+ "integrity": "sha512-6b7r75uIJDWCcCflmbof+sJ94k9UQO4X0YR62oUfqGI/GjCLVzlCwu8TFdRZIqVLzWbzNcmkmhfqKEr4TLz4HQ==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.2"
}
},
"node_modules/i18next-http-backend": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.5.0.tgz",
- "integrity": "sha512-Z/aQsGZk1gSxt2/DztXk92DuDD20J+rNudT7ZCdTrNOiK8uQppfvdjq9+DFQfpAnFPn3VZS+KQIr1S/W1KxhpQ==",
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.7.3.tgz",
+ "integrity": "sha512-FgZxrXdRA5u44xfYsJlEBL4/KH3f2IluBpgV/7riW0YW2VEyM8FzVt2XHAOi6id0Ppj7vZvCZVpp5LrGXnc8Ig==",
+ "license": "MIT",
"dependencies": {
"cross-fetch": "4.0.0"
}
@@ -7200,6 +8034,7 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -7212,6 +8047,7 @@
"resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz",
"integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"harmony-reflect": "^1.4.6"
},
@@ -7220,33 +8056,37 @@
}
},
"node_modules/ignore": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
},
"node_modules/immer": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.4.tgz",
- "integrity": "sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz",
+ "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==",
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
}
},
"node_modules/immutable": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz",
- "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==",
- "dev": true
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
+ "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -7263,6 +8103,7 @@
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.19"
}
@@ -7272,6 +8113,7 @@
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -7280,7 +8122,9 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
"dev": true,
+ "license": "ISC",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -7290,22 +8134,25 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/inline-style-parser": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz",
- "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ=="
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz",
+ "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==",
+ "license": "MIT"
},
"node_modules/internal-slot": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
- "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
+ "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
- "hasown": "^2.0.0",
- "side-channel": "^1.0.4"
+ "hasown": "^2.0.2",
+ "side-channel": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -7315,6 +8162,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
"integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -7323,6 +8171,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
"integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -7332,6 +8181,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
"integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+ "license": "MIT",
"dependencies": {
"is-alphabetical": "^2.0.0",
"is-decimal": "^2.0.0"
@@ -7342,12 +8192,13 @@
}
},
"node_modules/is-arguments": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
- "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
+ "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7357,13 +8208,15 @@
}
},
"node_modules/is-array-buffer": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
- "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
+ "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
},
"engines": {
"node": ">= 0.4"
@@ -7375,15 +8228,21 @@
"node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "license": "MIT"
},
"node_modules/is-async-function": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
- "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
+ "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "async-function": "^1.0.0",
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.1",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -7393,12 +8252,16 @@
}
},
"node_modules/is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
+ "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-bigints": "^1.0.1"
+ "has-bigints": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7409,6 +8272,7 @@
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -7417,13 +8281,14 @@
}
},
"node_modules/is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
+ "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7437,6 +8302,7 @@
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
"integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -7445,22 +8311,46 @@
}
},
"node_modules/is-core-module": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
- "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-data-view": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
+ "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "hasown": "^2.0.0"
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
+ "license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7473,6 +8363,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
"integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -7483,17 +8374,22 @@
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-finalizationregistry": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
- "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
+ "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2"
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7513,12 +8409,16 @@
}
},
"node_modules/is-generator-function": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
- "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz",
+ "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.0",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -7532,6 +8432,7 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -7543,6 +8444,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
"integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -7551,13 +8453,15 @@
"node_modules/is-lite": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/is-lite/-/is-lite-1.2.1.tgz",
- "integrity": "sha512-pgF+L5bxC+10hLBgf6R2P4ZZUBOQIIacbdo8YvuCP8/JvsWxG7aZ9p10DYuLtifFci4l3VITphhMlMV4Y+urPw=="
+ "integrity": "sha512-pgF+L5bxC+10hLBgf6R2P4ZZUBOQIIacbdo8YvuCP8/JvsWxG7aZ9p10DYuLtifFci4l3VITphhMlMV4Y+urPw==",
+ "license": "MIT"
},
"node_modules/is-map": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
"integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -7570,6 +8474,7 @@
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
"integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -7595,12 +8500,14 @@
}
},
"node_modules/is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
+ "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7614,6 +8521,7 @@
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -7622,6 +8530,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -7633,15 +8542,19 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7655,6 +8568,7 @@
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
"integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -7663,12 +8577,13 @@
}
},
"node_modules/is-shared-array-buffer": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
- "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
+ "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7"
+ "call-bound": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -7682,6 +8597,7 @@
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
"integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -7690,12 +8606,14 @@
}
},
"node_modules/is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
+ "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7705,12 +8623,15 @@
}
},
"node_modules/is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
+ "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-symbols": "^1.0.2"
+ "call-bound": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "safe-regex-test": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -7720,12 +8641,13 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
- "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "which-typed-array": "^1.1.14"
+ "which-typed-array": "^1.1.16"
},
"engines": {
"node": ">= 0.4"
@@ -7739,6 +8661,7 @@
"resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
"integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -7747,25 +8670,30 @@
}
},
"node_modules/is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz",
+ "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2"
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-weakset": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
- "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz",
+ "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "get-intrinsic": "^1.2.4"
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
},
"engines": {
"node": ">= 0.4"
@@ -7778,19 +8706,22 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/istanbul-lib-coverage": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
"integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=8"
}
@@ -7800,6 +8731,7 @@
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
"integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"istanbul-lib-coverage": "^3.0.0",
"make-dir": "^4.0.0",
@@ -7809,27 +8741,6 @@
"node": ">=10"
}
},
- "node_modules/istanbul-lib-report/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-report/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/istanbul-lib-source-maps": {
"version": "5.0.6",
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
@@ -7850,6 +8761,7 @@
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
"integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"html-escaper": "^2.0.0",
"istanbul-lib-report": "^3.0.0"
@@ -7859,16 +8771,21 @@
}
},
"node_modules/iterator.prototype": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
- "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz",
+ "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "define-properties": "^1.2.1",
- "get-intrinsic": "^1.2.1",
- "has-symbols": "^1.0.3",
- "reflect.getprototypeof": "^1.0.4",
- "set-function-name": "^2.0.1"
+ "define-data-property": "^1.1.4",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "get-proto": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/jackspeak": {
@@ -7892,21 +8809,30 @@
"resolved": "https://registry.npmjs.org/jest-canvas-mock/-/jest-canvas-mock-2.5.2.tgz",
"integrity": "sha512-vgnpPupjOL6+L5oJXzxTxFrlGEIbHdZqFU+LFNdtLxZ3lRDCl17FlTMM7IatoRQkrcyOTMlDinjUguqmQ6bR2A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cssfontparser": "^1.2.1",
"moo-color": "^1.0.2"
}
},
+ "node_modules/jpeg-exif": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz",
+ "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==",
+ "license": "MIT"
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -7919,6 +8845,7 @@
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.2.0.tgz",
"integrity": "sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@asamuzakjp/dom-selector": "^2.0.1",
"cssstyle": "^4.0.1",
@@ -7970,29 +8897,34 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "license": "MIT"
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "license": "MIT",
"bin": {
"json5": "lib/cli.js"
},
@@ -8028,6 +8960,7 @@
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
"integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-includes": "^3.1.6",
"array.prototype.flat": "^1.3.1",
@@ -8058,6 +8991,7 @@
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
"integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+ "license": "MIT",
"engines": {
"node": ">= 12"
}
@@ -8067,6 +9001,7 @@
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"json-buffer": "3.0.1"
}
@@ -8076,6 +9011,7 @@
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -8100,7 +9036,8 @@
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "license": "MIT"
},
"node_modules/lint-staged": {
"version": "15.5.2",
@@ -8124,10 +9061,23 @@
"lint-staged": "bin/lint-staged.js"
},
"engines": {
- "node": ">=18.12.0"
+ "node": ">=18.12.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/lint-staged"
+ }
+ },
+ "node_modules/lint-staged/node_modules/chalk": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
+ "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
},
"funding": {
- "url": "https://opencollective.com/lint-staged"
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/lint-staged/node_modules/commander": {
@@ -8163,6 +9113,7 @@
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -8183,13 +9134,15 @@
"node_modules/lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+ "license": "MIT"
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/log-update": {
"version": "6.1.0",
@@ -8290,6 +9243,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
"integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -8299,6 +9253,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "license": "MIT",
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
@@ -8307,9 +9262,9 @@
}
},
"node_modules/loupe": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
- "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.0.tgz",
+ "integrity": "sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==",
"dev": true,
"license": "MIT"
},
@@ -8328,6 +9283,7 @@
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
"integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
"dev": true,
+ "license": "MIT",
"bin": {
"lz-string": "bin/bin.js"
}
@@ -8368,6 +9324,7 @@
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
"integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^7.5.3"
},
@@ -8378,26 +9335,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/make-dir/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/make-dir/node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -8405,12 +9348,6 @@
"node": ">=10"
}
},
- "node_modules/make-dir/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/make-event-props": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-2.0.0.tgz",
@@ -8421,14 +9358,25 @@
}
},
"node_modules/markerjs2": {
- "version": "2.32.1",
- "resolved": "https://registry.npmjs.org/markerjs2/-/markerjs2-2.32.1.tgz",
- "integrity": "sha512-OGBINMGhXwTXZF/k0ky9vciPm8C3/bsDZUJroZrIvoX0xv3OWYBEDiUSmgRpiLkCv5Z4Q7RaYxhza/iafc25zw=="
+ "version": "2.32.6",
+ "resolved": "https://registry.npmjs.org/markerjs2/-/markerjs2-2.32.6.tgz",
+ "integrity": "sha512-uT2ZzORY/oTJm0ByvXtKllg6hPyb+ndFmXAL9tRJQsyUBUEHDAlg3+/mBKRTzeDP0wD94Ef0XXod5v4+g1hgwg==",
+ "license": "SEE LICENSE IN LICENSE"
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
},
"node_modules/mdast-util-from-markdown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz",
- "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
+ "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==",
+ "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
@@ -8452,6 +9400,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz",
"integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/mdast": "^4.0.0",
@@ -8467,9 +9416,10 @@
}
},
"node_modules/mdast-util-mdx-expression": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz",
- "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
+ "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
+ "license": "MIT",
"dependencies": {
"@types/estree-jsx": "^1.0.0",
"@types/hast": "^3.0.0",
@@ -8484,9 +9434,10 @@
}
},
"node_modules/mdast-util-mdx-jsx": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz",
- "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz",
+ "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==",
+ "license": "MIT",
"dependencies": {
"@types/estree-jsx": "^1.0.0",
"@types/hast": "^3.0.0",
@@ -8498,7 +9449,6 @@
"mdast-util-to-markdown": "^2.0.0",
"parse-entities": "^4.0.0",
"stringify-entities": "^4.0.0",
- "unist-util-remove-position": "^5.0.0",
"unist-util-stringify-position": "^4.0.0",
"vfile-message": "^4.0.0"
},
@@ -8511,6 +9461,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
"integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
+ "license": "MIT",
"dependencies": {
"@types/estree-jsx": "^1.0.0",
"@types/hast": "^3.0.0",
@@ -8528,6 +9479,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
"integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
+ "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"unist-util-is": "^6.0.0"
@@ -8538,9 +9490,10 @@
}
},
"node_modules/mdast-util-to-hast": {
- "version": "13.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz",
- "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==",
+ "version": "13.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz",
+ "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/mdast": "^4.0.0",
@@ -8558,15 +9511,17 @@
}
},
"node_modules/mdast-util-to-markdown": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz",
- "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
+ "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
+ "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
"longest-streak": "^3.0.0",
"mdast-util-phrasing": "^4.0.0",
"mdast-util-to-string": "^4.0.0",
+ "micromark-util-classify-character": "^2.0.0",
"micromark-util-decode-string": "^2.0.0",
"unist-util-visit": "^5.0.0",
"zwitch": "^2.0.0"
@@ -8580,6 +9535,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
"integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
+ "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0"
},
@@ -8592,7 +9548,8 @@
"version": "2.0.30",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
- "dev": true
+ "dev": true,
+ "license": "CC0-1.0"
},
"node_modules/merge-refs": {
"version": "2.0.0",
@@ -8615,21 +9572,23 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
},
"node_modules/micromark": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz",
- "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
+ "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8640,6 +9599,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"@types/debug": "^4.0.0",
"debug": "^4.0.0",
@@ -8661,9 +9621,9 @@
}
},
"node_modules/micromark-core-commonmark": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz",
- "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
+ "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8674,6 +9634,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"decode-named-character-reference": "^1.0.0",
"devlop": "^1.0.0",
@@ -8694,9 +9655,10 @@
}
},
"node_modules/micromark-extension-math": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.0.0.tgz",
- "integrity": "sha512-iJ2Q28vBoEovLN5o3GO12CpqorQRYDPT+p4zW50tGwTfJB+iv/VnB6Ini+gqa24K97DwptMBBIvVX6Bjk49oyQ==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz",
+ "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==",
+ "license": "MIT",
"dependencies": {
"@types/katex": "^0.16.0",
"devlop": "^1.0.0",
@@ -8712,9 +9674,9 @@
}
},
"node_modules/micromark-factory-destination": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz",
- "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
+ "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8725,6 +9687,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
@@ -8732,9 +9695,9 @@
}
},
"node_modules/micromark-factory-label": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz",
- "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
+ "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8745,6 +9708,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-character": "^2.0.0",
@@ -8753,9 +9717,9 @@
}
},
"node_modules/micromark-factory-space": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz",
- "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
+ "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8766,15 +9730,16 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-types": "^2.0.0"
}
},
"node_modules/micromark-factory-title": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz",
- "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
+ "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8785,6 +9750,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
@@ -8793,9 +9759,9 @@
}
},
"node_modules/micromark-factory-whitespace": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz",
- "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
+ "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8806,6 +9772,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
@@ -8814,9 +9781,9 @@
}
},
"node_modules/micromark-util-character": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz",
- "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
+ "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8827,15 +9794,16 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0",
"micromark-util-types": "^2.0.0"
}
},
"node_modules/micromark-util-chunked": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz",
- "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
+ "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8846,14 +9814,15 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
},
"node_modules/micromark-util-classify-character": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz",
- "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
+ "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8864,6 +9833,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
@@ -8871,9 +9841,9 @@
}
},
"node_modules/micromark-util-combine-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz",
- "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
+ "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8884,15 +9854,16 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-chunked": "^2.0.0",
"micromark-util-types": "^2.0.0"
}
},
"node_modules/micromark-util-decode-numeric-character-reference": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz",
- "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
+ "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8903,14 +9874,15 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
},
"node_modules/micromark-util-decode-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz",
- "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz",
+ "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8921,6 +9893,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"decode-named-character-reference": "^1.0.0",
"micromark-util-character": "^2.0.0",
@@ -8929,9 +9902,9 @@
}
},
"node_modules/micromark-util-encode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz",
- "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
+ "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8941,12 +9914,13 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/micromark-util-html-tag-name": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz",
- "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
+ "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8956,12 +9930,13 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/micromark-util-normalize-identifier": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz",
- "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
+ "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8972,14 +9947,15 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
},
"node_modules/micromark-util-resolve-all": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz",
- "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
+ "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -8990,14 +9966,15 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-types": "^2.0.0"
}
},
"node_modules/micromark-util-sanitize-uri": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz",
- "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
+ "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -9008,6 +9985,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-encode": "^2.0.0",
@@ -9015,9 +9993,9 @@
}
},
"node_modules/micromark-util-subtokenize": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz",
- "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
+ "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -9028,6 +10006,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-chunked": "^2.0.0",
@@ -9036,9 +10015,9 @@
}
},
"node_modules/micromark-util-symbol": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz",
- "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
+ "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -9048,12 +10027,13 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/micromark-util-types": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz",
- "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
+ "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -9063,7 +10043,8 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/micromatch": {
"version": "4.0.8",
@@ -9084,6 +10065,7 @@
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -9093,6 +10075,7 @@
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
},
@@ -9105,6 +10088,7 @@
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
"integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -9130,15 +10114,17 @@
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
"integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/minimatch": {
- "version": "9.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
- "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -9164,6 +10150,7 @@
"resolved": "https://registry.npmjs.org/moo-color/-/moo-color-1.0.3.tgz",
"integrity": "sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "^1.1.4"
}
@@ -9175,9 +10162,9 @@
"license": "MIT"
},
"node_modules/msw": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/msw/-/msw-2.8.2.tgz",
- "integrity": "sha512-ugu8RBgUj6//RD0utqDDPdS+QIs36BKYkDAM6u59hcMVtFM4PM0vW4l3G1R+1uCWP2EWFUG8reT/gPXVEtx7/w==",
+ "version": "2.10.4",
+ "resolved": "https://registry.npmjs.org/msw/-/msw-2.10.4.tgz",
+ "integrity": "sha512-6R1or/qyele7q3RyPwNuvc0IxO8L8/Aim6Sz5ncXEgcWUNxSKE+udriTOWHtpMwmfkLYlacA2y7TIx4cL5lgHA==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -9186,7 +10173,7 @@
"@bundled-es-modules/statuses": "^1.0.1",
"@bundled-es-modules/tough-cookie": "^0.1.6",
"@inquirer/confirm": "^5.0.0",
- "@mswjs/interceptors": "^0.37.0",
+ "@mswjs/interceptors": "^0.39.1",
"@open-draft/deferred-promise": "^2.2.0",
"@open-draft/until": "^2.1.0",
"@types/cookie": "^0.6.0",
@@ -9265,12 +10252,22 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true
},
"node_modules/node-domexception": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
"integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "deprecated": "Use your platform's native DOMException instead",
"dev": true,
"funding": [
{
@@ -9282,6 +10279,7 @@
"url": "https://paypal.me/jimmywarting"
}
],
+ "license": "MIT",
"engines": {
"node": ">=10.5.0"
}
@@ -9291,6 +10289,7 @@
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
"integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"data-uri-to-buffer": "^4.0.0",
"fetch-blob": "^3.1.4",
@@ -9316,6 +10315,7 @@
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -9325,6 +10325,7 @@
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^4.0.0"
},
@@ -9340,6 +10341,7 @@
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -9351,15 +10353,20 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/object-inspect": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
- "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
"dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -9368,6 +10375,7 @@
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
"integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1"
@@ -9383,19 +10391,23 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/object.assign": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
- "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
+ "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.5",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
"define-properties": "^1.2.1",
- "has-symbols": "^1.0.3",
+ "es-object-atoms": "^1.0.0",
+ "has-symbols": "^1.1.0",
"object-keys": "^1.1.1"
},
"engines": {
@@ -9406,28 +10418,32 @@
}
},
"node_modules/object.entries": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz",
- "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==",
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz",
+ "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.1.1"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/object.fromentries": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz",
- "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==",
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+ "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -9436,28 +10452,17 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/object.hasown": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz",
- "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/object.values": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
- "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
+ "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -9471,6 +10476,7 @@
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"wrappy": "1"
}
@@ -9480,6 +10486,7 @@
"resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
"integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-fn": "^4.0.0"
},
@@ -9491,17 +10498,18 @@
}
},
"node_modules/optionator": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
- "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@aashutoshrathi/word-wrap": "^1.2.3",
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
- "type-check": "^0.4.0"
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
},
"engines": {
"node": ">= 0.8.0"
@@ -9514,11 +10522,30 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/own-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
+ "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.6",
+ "object-keys": "^1.1.1",
+ "safe-push-apply": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -9534,6 +10561,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -9567,12 +10595,14 @@
"node_modules/pako": {
"version": "0.2.9",
"resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
- "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="
+ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==",
+ "license": "MIT"
},
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
},
@@ -9581,12 +10611,12 @@
}
},
"node_modules/parse-entities": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz",
- "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
+ "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^2.0.0",
- "character-entities": "^2.0.0",
"character-entities-legacy": "^3.0.0",
"character-reference-invalid": "^2.0.0",
"decode-named-character-reference": "^1.0.0",
@@ -9600,14 +10630,16 @@
}
},
"node_modules/parse-entities/node_modules/@types/unist": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
- "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
+ "license": "MIT"
},
"node_modules/parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
@@ -9622,11 +10654,12 @@
}
},
"node_modules/parse5": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
+ "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
+ "license": "MIT",
"dependencies": {
- "entities": "^4.4.0"
+ "entities": "^6.0.0"
},
"funding": {
"url": "https://github.com/inikulin/parse5?sponsor=1"
@@ -9637,6 +10670,7 @@
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -9646,6 +10680,7 @@
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -9655,6 +10690,7 @@
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -9662,7 +10698,8 @@
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "license": "MIT"
},
"node_modules/path-scurry": {
"version": "1.11.1",
@@ -9699,6 +10736,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -9711,45 +10749,35 @@
"license": "MIT"
},
"node_modules/pathval": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
- "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
+ "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 14.16"
}
},
- "node_modules/pdfjs-dist": {
- "version": "5.3.31",
- "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.3.31.tgz",
- "integrity": "sha512-EhPdIjNX0fcdwYQO+e3BAAJPXt+XI29TZWC7COhIXs/K0JHcUt1Gdz1ITpebTwVMFiLsukdUZ3u0oTO7jij+VA==",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=20.16.0 || >=22.3.0"
- },
- "optionalDependencies": {
- "@napi-rs/canvas": "^0.1.67"
- }
- },
"node_modules/pdfmake": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.10.tgz",
- "integrity": "sha512-doipFnmE1UHSk+Z3wfQuVweVQqx2pE/Ns2G5gCqZmWwqjDj+mZHnZYH/ryXWoIfD+iVdZUAutgI/VHkTCN+Xrw==",
+ "version": "0.2.20",
+ "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.20.tgz",
+ "integrity": "sha512-bGbxbGFP5p8PWNT3Phsu1ZcRLnRfF6jmnuKTkgmt6i5PZzSdX6JaB+NeTz9q+aocfW8SE9GUjL3o/5GroBqGcQ==",
+ "license": "MIT",
"dependencies": {
- "@foliojs-fork/linebreak": "^1.1.1",
- "@foliojs-fork/pdfkit": "^0.14.0",
+ "@foliojs-fork/linebreak": "^1.1.2",
+ "@foliojs-fork/pdfkit": "^0.15.3",
"iconv-lite": "^0.6.3",
- "xmldoc": "^1.1.2"
+ "xmldoc": "^2.0.1"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
+ "license": "MIT"
},
"node_modules/picocolors": {
"version": "1.1.1",
@@ -9762,6 +10790,7 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -9774,6 +10803,7 @@
"resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
"integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
"dev": true,
+ "license": "MIT",
"bin": {
"pidtree": "bin/pidtree.js"
},
@@ -9790,6 +10820,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/polylabel/-/polylabel-1.1.0.tgz",
"integrity": "sha512-bxaGcA40sL3d6M4hH72Z4NdLqxpXRsCFk8AITYg6x1rn1Ei3izf00UMLklerBZTO49aPA3CYrIwVulx2Bce2pA==",
+ "license": "ISC",
"dependencies": {
"tinyqueue": "^2.0.3"
}
@@ -9799,24 +10830,26 @@
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
"deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1",
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/possible-typed-array-names": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
- "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
+ "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/postcss": {
- "version": "8.5.3",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
- "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
"dev": true,
"funding": [
{
@@ -9834,7 +10867,7 @@
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.8",
+ "nanoid": "^3.3.11",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
@@ -9847,15 +10880,17 @@
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/prettier": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
- "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
+ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
"dev": true,
+ "license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -9871,6 +10906,7 @@
"resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
"integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-diff": "^1.1.2"
},
@@ -9883,6 +10919,7 @@
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
@@ -9897,6 +10934,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -9908,12 +10946,14 @@
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -9923,28 +10963,38 @@
"node_modules/prop-types/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "license": "MIT"
},
"node_modules/property-information": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz",
- "integrity": "sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
+ "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz",
+ "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.3.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/lupomontero"
+ }
},
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -9953,7 +11003,8 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/queue-microtask": {
"version": "1.2.3",
@@ -9973,12 +11024,14 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/raf": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+ "license": "MIT",
"dependencies": {
"performance-now": "^2.1.0"
}
@@ -9987,6 +11040,7 @@
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0"
},
@@ -9998,6 +11052,7 @@
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.2"
@@ -10010,6 +11065,7 @@
"version": "0.7.9",
"resolved": "https://registry.npmjs.org/react-floater/-/react-floater-0.7.9.tgz",
"integrity": "sha512-NXqyp9o8FAXOATOEo0ZpyaQ2KPb4cmPMXGWkx377QtJkIXHlHRAGer7ai0r0C1kG5gf+KJ6Gy+gdNIiosvSicg==",
+ "license": "MIT",
"dependencies": {
"deepmerge": "^4.3.1",
"is-lite": "^0.8.2",
@@ -10025,17 +11081,20 @@
"node_modules/react-floater/node_modules/@gilbarbara/deep-equal": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/@gilbarbara/deep-equal/-/deep-equal-0.1.2.tgz",
- "integrity": "sha512-jk+qzItoEb0D0xSSmrKDDzf9sheQj/BAPxlgNxgmOaA3mxpUa6ndJLYGZKsJnIVEQSD8zcTbyILz7I0HcnBCRA=="
+ "integrity": "sha512-jk+qzItoEb0D0xSSmrKDDzf9sheQj/BAPxlgNxgmOaA3mxpUa6ndJLYGZKsJnIVEQSD8zcTbyILz7I0HcnBCRA==",
+ "license": "MIT"
},
"node_modules/react-floater/node_modules/is-lite": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/is-lite/-/is-lite-0.8.2.tgz",
- "integrity": "sha512-JZfH47qTsslwaAsqbMI3Q6HNNjUuq6Cmzzww50TdP5Esb6e1y2sK2UAaZZuzfAzpoI2AkxoPQapZdlDuP6Vlsw=="
+ "integrity": "sha512-JZfH47qTsslwaAsqbMI3Q6HNNjUuq6Cmzzww50TdP5Esb6e1y2sK2UAaZZuzfAzpoI2AkxoPQapZdlDuP6Vlsw==",
+ "license": "MIT"
},
"node_modules/react-floater/node_modules/tree-changes": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/tree-changes/-/tree-changes-0.9.3.tgz",
"integrity": "sha512-vvvS+O6kEeGRzMglTKbc19ltLWNtmNt1cpBoSYLj/iEcPVvpJasemKOlxBrmZaCtDJoF+4bwv3m01UKYi8mukQ==",
+ "license": "MIT",
"dependencies": {
"@gilbarbara/deep-equal": "^0.1.1",
"is-lite": "^0.8.2"
@@ -10045,6 +11104,7 @@
"version": "13.5.0",
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.5.0.tgz",
"integrity": "sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.22.5",
"html-parse-stringify": "^3.0.1"
@@ -10066,20 +11126,23 @@
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/react-innertext/-/react-innertext-1.1.5.tgz",
"integrity": "sha512-PWAqdqhxhHIv80dT9znP2KvS+hfkbRovFp4zFYHFFlOoQLRiawIic81gKb3U1wEyJZgMwgs3JoLtwryASRWP3Q==",
+ "license": "MIT",
"peerDependencies": {
"@types/react": ">=0.0.0 <=99",
"react": ">=0.0.0 <=99"
}
},
"node_modules/react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ "version": "19.1.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.1.1.tgz",
+ "integrity": "sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==",
+ "license": "MIT"
},
"node_modules/react-joyride": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/react-joyride/-/react-joyride-2.8.2.tgz",
- "integrity": "sha512-2QY8HB1G0I2OT0PKMUz7gg2HAjdkG2Bqi13r0Bb1V16PAwfb9khn4wWBTOJsGsjulbAWiQ3/0YrgNUHGFmuifw==",
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/react-joyride/-/react-joyride-2.9.3.tgz",
+ "integrity": "sha512-1+Mg34XK5zaqJ63eeBhqdbk7dlGCFp36FXwsEvgpjqrtyywX2C6h9vr3jgxP0bGHCw8Ilsp/nRDzNVq6HJ3rNw==",
+ "license": "MIT",
"dependencies": {
"@gilbarbara/deep-equal": "^0.3.1",
"deep-diff": "^1.0.2",
@@ -10091,7 +11154,7 @@
"scroll": "^3.0.1",
"scrollparent": "^2.1.0",
"tree-changes": "^0.11.2",
- "type-fest": "^4.18.2"
+ "type-fest": "^4.27.0"
},
"peerDependencies": {
"react": "15 - 18",
@@ -10101,12 +11164,14 @@
"node_modules/react-joyride/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "license": "MIT"
},
"node_modules/react-joyride/node_modules/type-fest": {
- "version": "4.22.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.22.0.tgz",
- "integrity": "sha512-hxMO1k4ip1uTVGgPbs1hVpYyhz2P91A6tQyH2H9POx3U6T3MdhIcfY8L2hRu/LRmzPFdfduOS0RIDjFlP2urPw==",
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+ "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=16"
},
@@ -10115,8 +11180,8 @@
}
},
"node_modules/react-lazyload": {
- "version": "3.2.0",
- "resolved": "git+ssh://git@github.com/twobin/react-lazyload.git#f1faffda816180f39d3ff8cf3d9c2060f8d9d623",
+ "version": "3.2.1",
+ "resolved": "git+ssh://git@github.com/twobin/react-lazyload.git#20abd7806416fe3fa4e92a8040526de96d1f2598",
"license": "MIT",
"peerDependencies": {
"react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0",
@@ -10124,11 +11189,13 @@
}
},
"node_modules/react-markdown": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz",
- "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.1.0.tgz",
+ "integrity": "sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
"devlop": "^1.0.0",
"hast-util-to-jsx-runtime": "^2.0.0",
"html-url-attributes": "^3.0.0",
@@ -10149,9 +11216,10 @@
}
},
"node_modules/react-oauth2-code-pkce": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/react-oauth2-code-pkce/-/react-oauth2-code-pkce-1.18.0.tgz",
- "integrity": "sha512-odhGdt9PxfGvbVmWQHToDHux4rX2iR9Zxtmkr+VnJJNdnWcKvpgc4MEOWtdekZDXk+SORd4pVvsjdpyxNU55Dg==",
+ "version": "1.23.1",
+ "resolved": "https://registry.npmjs.org/react-oauth2-code-pkce/-/react-oauth2-code-pkce-1.23.1.tgz",
+ "integrity": "sha512-xr3QzNSvwRZ9JqEsvvYZyMlD2hXB18z+Kog9fQoMTWEkQBxAJSAzsT5yPV7eyA0nEXmGuIZA9Rh0M6xil9c1VA==",
+ "license": "MIT",
"peerDependencies": {
"react": ">=16.8.0"
}
@@ -10185,27 +11253,36 @@
}
}
},
+ "node_modules/react-pdf/node_modules/pdfjs-dist": {
+ "version": "5.3.31",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.3.31.tgz",
+ "integrity": "sha512-EhPdIjNX0fcdwYQO+e3BAAJPXt+XI29TZWC7COhIXs/K0JHcUt1Gdz1ITpebTwVMFiLsukdUZ3u0oTO7jij+VA==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=20.16.0 || >=22.3.0"
+ },
+ "optionalDependencies": {
+ "@napi-rs/canvas": "^0.1.67"
+ }
+ },
"node_modules/react-redux": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.0.tgz",
- "integrity": "sha512-6qoDzIO+gbrza8h3hjMA9aq4nwVFCKFtY2iLxCtVT38Swyy2C/dJCGBXHeHLtx6qlg/8qzc2MrhOeduf5K32wQ==",
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
+ "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==",
+ "license": "MIT",
"dependencies": {
- "@types/use-sync-external-store": "^0.0.3",
- "use-sync-external-store": "^1.0.0"
+ "@types/use-sync-external-store": "^0.0.6",
+ "use-sync-external-store": "^1.4.0"
},
"peerDependencies": {
- "@types/react": "^18.2.25",
- "react": "^18.0",
- "react-native": ">=0.69",
+ "@types/react": "^18.2.25 || ^19",
+ "react": "^18.0 || ^19",
"redux": "^5.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
},
- "react-native": {
- "optional": true
- },
"redux": {
"optional": true
}
@@ -10222,9 +11299,10 @@
}
},
"node_modules/react-scroll-sync": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/react-scroll-sync/-/react-scroll-sync-0.11.2.tgz",
- "integrity": "sha512-n7m+bbRTSWuczhKQf6Evvl7PFGkTt4RfP4bhyUtUyv6znovpybhAScQDdrFr9Jh280nG39x9AWMY8j477PHL1A==",
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/react-scroll-sync/-/react-scroll-sync-0.11.3.tgz",
+ "integrity": "sha512-jKu5mqOaTSfryXbGn14+Rw1+tyc7gNTCHtkCUPBkwSvIp8IQ8AwYrts1BpZszyGVXj4LyBdz8GgPxqVv+uV+CA==",
+ "license": "MIT",
"dependencies": {
"prop-types": "^15.5.7"
},
@@ -10237,6 +11315,7 @@
"version": "4.4.5",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
"integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
+ "license": "BSD-3-Clause",
"dependencies": {
"@babel/runtime": "^7.5.5",
"dom-helpers": "^5.0.1",
@@ -10249,15 +11328,17 @@
}
},
"node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
+ "license": "MIT",
"engines": {
- "node": ">=8.10.0"
+ "node": ">= 14.18.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
}
},
"node_modules/redent": {
@@ -10265,6 +11346,7 @@
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
"integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"indent-string": "^4.0.0",
"strip-indent": "^3.0.0"
@@ -10276,12 +11358,14 @@
"node_modules/redux": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
- "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="
+ "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
+ "license": "MIT"
},
"node_modules/redux-persist": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz",
"integrity": "sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ==",
+ "license": "MIT",
"peerDependencies": {
"redux": ">4.0.0"
}
@@ -10290,23 +11374,26 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
"integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
+ "license": "MIT",
"peerDependencies": {
"redux": "^5.0.0"
}
},
"node_modules/reflect.getprototypeof": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz",
- "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==",
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
+ "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.5",
+ "call-bind": "^1.0.8",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.3",
- "es-errors": "^1.0.0",
- "get-intrinsic": "^1.2.3",
- "globalthis": "^1.0.3",
- "which-builtin-type": "^1.1.3"
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.1",
+ "which-builtin-type": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -10316,14 +11403,17 @@
}
},
"node_modules/regexp.prototype.flags": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
- "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+ "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.6",
+ "call-bind": "^1.0.8",
"define-properties": "^1.2.1",
"es-errors": "^1.3.0",
- "set-function-name": "^2.0.1"
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -10333,9 +11423,10 @@
}
},
"node_modules/rehype-katex": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.0.tgz",
- "integrity": "sha512-h8FPkGE00r2XKU+/acgqwWUlyzve1IiOKwsEkg4pDL3k48PiE0Pt+/uLtVHDVkN1yA4iurZN6UES8ivHVEQV6Q==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz",
+ "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/katex": "^0.16.0",
@@ -10354,6 +11445,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz",
"integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==",
+ "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-math": "^3.0.0",
@@ -10369,6 +11461,7 @@
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
"integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
+ "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-from-markdown": "^2.0.0",
@@ -10381,9 +11474,10 @@
}
},
"node_modules/remark-rehype": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz",
- "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==",
+ "version": "11.1.2",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
+ "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/mdast": "^4.0.0",
@@ -10401,6 +11495,7 @@
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -10410,6 +11505,7 @@
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -10418,25 +11514,31 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/reselect": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz",
- "integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg=="
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
+ "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
+ "license": "MIT"
},
"node_modules/resolve": {
- "version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "version": "1.22.10",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+ "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+ "license": "MIT",
"dependencies": {
- "is-core-module": "^2.13.0",
+ "is-core-module": "^2.16.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
"bin": {
"resolve": "bin/resolve"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -10445,6 +11547,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -10493,10 +11596,11 @@
}
},
"node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
"dev": true,
+ "license": "MIT",
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -10513,7 +11617,9 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
+ "license": "ISC",
"dependencies": {
"glob": "^7.1.3"
},
@@ -10527,16 +11633,17 @@
"node_modules/robust-predicates": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
- "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="
+ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
+ "license": "Unlicense"
},
"node_modules/rollup": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz",
- "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz",
+ "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/estree": "1.0.7"
+ "@types/estree": "1.0.8"
},
"bin": {
"rollup": "dist/bin/rollup"
@@ -10546,26 +11653,26 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.40.2",
- "@rollup/rollup-android-arm64": "4.40.2",
- "@rollup/rollup-darwin-arm64": "4.40.2",
- "@rollup/rollup-darwin-x64": "4.40.2",
- "@rollup/rollup-freebsd-arm64": "4.40.2",
- "@rollup/rollup-freebsd-x64": "4.40.2",
- "@rollup/rollup-linux-arm-gnueabihf": "4.40.2",
- "@rollup/rollup-linux-arm-musleabihf": "4.40.2",
- "@rollup/rollup-linux-arm64-gnu": "4.40.2",
- "@rollup/rollup-linux-arm64-musl": "4.40.2",
- "@rollup/rollup-linux-loongarch64-gnu": "4.40.2",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2",
- "@rollup/rollup-linux-riscv64-gnu": "4.40.2",
- "@rollup/rollup-linux-riscv64-musl": "4.40.2",
- "@rollup/rollup-linux-s390x-gnu": "4.40.2",
- "@rollup/rollup-linux-x64-gnu": "4.40.2",
- "@rollup/rollup-linux-x64-musl": "4.40.2",
- "@rollup/rollup-win32-arm64-msvc": "4.40.2",
- "@rollup/rollup-win32-ia32-msvc": "4.40.2",
- "@rollup/rollup-win32-x64-msvc": "4.40.2",
+ "@rollup/rollup-android-arm-eabi": "4.46.2",
+ "@rollup/rollup-android-arm64": "4.46.2",
+ "@rollup/rollup-darwin-arm64": "4.46.2",
+ "@rollup/rollup-darwin-x64": "4.46.2",
+ "@rollup/rollup-freebsd-arm64": "4.46.2",
+ "@rollup/rollup-freebsd-x64": "4.46.2",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.46.2",
+ "@rollup/rollup-linux-arm-musleabihf": "4.46.2",
+ "@rollup/rollup-linux-arm64-gnu": "4.46.2",
+ "@rollup/rollup-linux-arm64-musl": "4.46.2",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.46.2",
+ "@rollup/rollup-linux-ppc64-gnu": "4.46.2",
+ "@rollup/rollup-linux-riscv64-gnu": "4.46.2",
+ "@rollup/rollup-linux-riscv64-musl": "4.46.2",
+ "@rollup/rollup-linux-s390x-gnu": "4.46.2",
+ "@rollup/rollup-linux-x64-gnu": "4.46.2",
+ "@rollup/rollup-linux-x64-musl": "4.46.2",
+ "@rollup/rollup-win32-arm64-msvc": "4.46.2",
+ "@rollup/rollup-win32-ia32-msvc": "4.46.2",
+ "@rollup/rollup-win32-x64-msvc": "4.46.2",
"fsevents": "~2.3.2"
}
},
@@ -10573,6 +11680,7 @@
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/rooks/-/rooks-7.14.1.tgz",
"integrity": "sha512-oPuLNGm3OaFm3WfZHzmDvJvRit8QrXGm9/Kn49Bz8lJUjkThSBtERWzuQ9wb5DveqrpUZvmNyBXjBE0KWVt13w==",
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"lodash.debounce": "^4.0.8",
@@ -10591,7 +11699,8 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
"integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/run-parallel": {
"version": "1.2.0",
@@ -10612,6 +11721,7 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"queue-microtask": "^1.2.2"
}
@@ -10619,17 +11729,20 @@
"node_modules/rw": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
- "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="
+ "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
+ "license": "BSD-3-Clause"
},
"node_modules/safe-array-concat": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
- "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
+ "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "get-intrinsic": "^1.2.4",
- "has-symbols": "^1.0.3",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "has-symbols": "^1.1.0",
"isarray": "^2.0.5"
},
"engines": {
@@ -10639,15 +11752,33 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/safe-push-apply": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
+ "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/safe-regex-test": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
- "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.6",
+ "call-bound": "^1.0.2",
"es-errors": "^1.3.0",
- "is-regex": "^1.1.4"
+ "is-regex": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -10659,16 +11790,18 @@
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "license": "MIT"
},
"node_modules/sass": {
- "version": "1.72.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz",
- "integrity": "sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==",
+ "version": "1.89.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz",
+ "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
+ "chokidar": "^4.0.0",
+ "immutable": "^5.0.2",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
@@ -10676,18 +11809,23 @@
},
"engines": {
"node": ">=14.0.0"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher": "^2.4.1"
}
},
"node_modules/sax": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz",
- "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA=="
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
+ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
+ "license": "ISC"
},
"node_modules/saxes": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
"integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"xmlchars": "^2.2.0"
},
@@ -10699,6 +11837,7 @@
"version": "0.23.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
"integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0"
}
@@ -10706,23 +11845,27 @@
"node_modules/scroll": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/scroll/-/scroll-3.0.1.tgz",
- "integrity": "sha512-pz7y517OVls1maEzlirKO5nPYle9AXsFzTMNJrRGmT951mzpIBy7sNHOg5o/0MQd/NqliCiWnAi0kZneMPFLcg=="
+ "integrity": "sha512-pz7y517OVls1maEzlirKO5nPYle9AXsFzTMNJrRGmT951mzpIBy7sNHOg5o/0MQd/NqliCiWnAi0kZneMPFLcg==",
+ "license": "MIT"
},
"node_modules/scrollparent": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/scrollparent/-/scrollparent-2.1.0.tgz",
- "integrity": "sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA=="
+ "integrity": "sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA==",
+ "license": "ISC"
},
"node_modules/seedrandom": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
- "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
+ "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==",
+ "license": "MIT"
},
"node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
@@ -10731,6 +11874,7 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -10747,6 +11891,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
"integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -10757,11 +11902,27 @@
"node": ">= 0.4"
}
},
+ "node_modules/set-proto": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz",
+ "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -10774,20 +11935,79 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/side-channel": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
- "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
"es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "object-inspect": "^1.13.1"
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -10808,6 +12028,7 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -10820,6 +12041,7 @@
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -10858,6 +12080,7 @@
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -10876,6 +12099,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
"integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -10889,10 +12113,11 @@
"license": "MIT"
},
"node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -10904,6 +12129,20 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
+ "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "internal-slot": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/strict-event-emitter": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
@@ -10916,6 +12155,7 @@
"resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
"integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.6.19"
}
@@ -11001,34 +12241,58 @@
}
},
"node_modules/string.prototype.matchall": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz",
- "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==",
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz",
+ "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "regexp.prototype.flags": "^1.5.0",
- "set-function-name": "^2.0.0",
- "side-channel": "^1.0.4"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "regexp.prototype.flags": "^1.5.3",
+ "set-function-name": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/string.prototype.repeat": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz",
+ "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
"node_modules/string.prototype.trim": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
- "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+ "version": "1.2.10",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
+ "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-data-property": "^1.1.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-object-atoms": "^1.0.0",
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -11038,37 +12302,47 @@
}
},
"node_modules/string.prototype.trimend": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
- "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
+ "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trimstart": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
- "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/stringify-entities": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz",
- "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
+ "license": "MIT",
"dependencies": {
"character-entities-html4": "^2.0.0",
"character-entities-legacy": "^3.0.0"
@@ -11083,6 +12357,7 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -11109,6 +12384,7 @@
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
"integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -11121,6 +12397,7 @@
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
"integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"min-indent": "^1.0.0"
},
@@ -11133,30 +12410,76 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strip-literal": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz",
+ "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^9.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/strip-literal/node_modules/js-tokens": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
+ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/style-to-js": {
+ "version": "1.1.17",
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.17.tgz",
+ "integrity": "sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==",
+ "license": "MIT",
+ "dependencies": {
+ "style-to-object": "1.0.9"
}
},
"node_modules/style-to-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz",
- "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.9.tgz",
+ "integrity": "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==",
+ "license": "MIT",
"dependencies": {
- "inline-style-parser": "0.2.2"
+ "inline-style-parser": "0.2.4"
}
},
"node_modules/stylis": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
- "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="
+ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==",
+ "license": "MIT"
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -11167,28 +12490,30 @@
"node_modules/svg-arc-to-cubic-bezier": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz",
- "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g=="
+ "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==",
+ "license": "ISC"
},
"node_modules/symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/synckit": {
- "version": "0.8.8",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz",
- "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==",
+ "version": "0.11.11",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz",
+ "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@pkgr/core": "^0.1.0",
- "tslib": "^2.6.2"
+ "@pkgr/core": "^0.2.9"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"funding": {
- "url": "https://opencollective.com/unts"
+ "url": "https://opencollective.com/synckit"
}
},
"node_modules/test-exclude": {
@@ -11231,12 +12556,14 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/tiny-inflate": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
- "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==",
+ "license": "MIT"
},
"node_modules/tiny-invariant": {
"version": "1.3.3",
@@ -11276,9 +12603,9 @@
}
},
"node_modules/tinyglobby/node_modules/fdir": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
- "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -11291,9 +12618,9 @@
}
},
"node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11304,9 +12631,9 @@
}
},
"node_modules/tinypool": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz",
- "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
+ "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11316,7 +12643,8 @@
"node_modules/tinyqueue": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz",
- "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA=="
+ "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==",
+ "license": "ISC"
},
"node_modules/tinyrainbow": {
"version": "2.0.0",
@@ -11329,9 +12657,9 @@
}
},
"node_modules/tinyspy": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
- "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz",
+ "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11368,10 +12696,11 @@
}
},
"node_modules/tr46": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
- "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
+ "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"punycode": "^2.3.1"
},
@@ -11380,18 +12709,20 @@
}
},
"node_modules/tree-changes": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/tree-changes/-/tree-changes-0.11.2.tgz",
- "integrity": "sha512-4gXlUthrl+RabZw6lLvcCDl6KfJOCmrC16BC5CRdut1EAH509Omgg0BfKLY+ViRlzrvYOTWR0FMS2SQTwzumrw==",
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/tree-changes/-/tree-changes-0.11.3.tgz",
+ "integrity": "sha512-r14mvDZ6tqz8PRQmlFKjhUVngu4VZ9d92ON3tp0EGpFBE6PAHOq8Bx8m8ahbNoGE3uI/npjYcJiqVydyOiYXag==",
+ "license": "MIT",
"dependencies": {
"@gilbarbara/deep-equal": "^0.3.1",
- "is-lite": "^1.2.0"
+ "is-lite": "^1.2.1"
}
},
"node_modules/trim-lines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
"integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -11401,16 +12732,18 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
"integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/ts-api-utils": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
- "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
+ "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -11419,10 +12752,11 @@
}
},
"node_modules/tsconfck": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz",
- "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz",
+ "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==",
"dev": true,
+ "license": "MIT",
"bin": {
"tsconfck": "bin/tsconfck.js"
},
@@ -11439,14 +12773,15 @@
}
},
"node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
"node_modules/tsx": {
- "version": "4.19.4",
- "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.4.tgz",
- "integrity": "sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.3.tgz",
+ "integrity": "sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11468,6 +12803,7 @@
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -11475,31 +12811,46 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/typed-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
- "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "call-bound": "^1.0.3",
"es-errors": "^1.3.0",
- "is-typed-array": "^1.1.13"
+ "is-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/typed-array-byte-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
- "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
+ "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "call-bind": "^1.0.8",
"for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-proto": "^1.0.3",
- "is-typed-array": "^1.1.13"
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -11509,17 +12860,19 @@
}
},
"node_modules/typed-array-byte-offset": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
- "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
+ "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.7",
+ "call-bind": "^1.0.8",
"for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-proto": "^1.0.3",
- "is-typed-array": "^1.1.13"
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "reflect.getprototypeof": "^1.0.9"
},
"engines": {
"node": ">= 0.4"
@@ -11529,17 +12882,18 @@
}
},
"node_modules/typed-array-length": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
- "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
+ "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-proto": "^1.0.3",
"is-typed-array": "^1.1.13",
- "possible-typed-array-names": "^1.0.0"
+ "possible-typed-array-names": "^1.0.0",
+ "reflect.getprototypeof": "^1.0.6"
},
"engines": {
"node": ">= 0.4"
@@ -11553,6 +12907,7 @@
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"dev": true,
+ "license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -11562,30 +12917,36 @@
}
},
"node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
+ "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
+ "call-bound": "^1.0.3",
"has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
+ "has-symbols": "^1.1.0",
+ "which-boxed-primitive": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
+ "version": "7.8.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
+ "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/unicode-properties": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz",
"integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==",
+ "license": "MIT",
"dependencies": {
"base64-js": "^1.3.0",
"unicode-trie": "^2.0.0"
@@ -11595,15 +12956,17 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz",
"integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==",
+ "license": "MIT",
"dependencies": {
"pako": "^0.2.5",
"tiny-inflate": "^1.0.0"
}
},
"node_modules/unified": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz",
- "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==",
+ "version": "11.0.5",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
+ "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"bail": "^2.0.0",
@@ -11622,6 +12985,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz",
"integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0"
@@ -11635,6 +12999,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
"integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -11647,6 +13012,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
"integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -11659,6 +13025,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz",
"integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-visit": "^5.0.0"
@@ -11672,6 +13039,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
"integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -11684,6 +13052,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
"integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0",
@@ -11698,6 +13067,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
"integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0"
@@ -11712,33 +13082,34 @@
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/unplugin": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.0.tgz",
- "integrity": "sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==",
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz",
+ "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "acorn": "^8.11.3",
- "chokidar": "^3.6.0",
- "webpack-sources": "^3.2.3",
- "webpack-virtual-modules": "^0.6.1"
+ "acorn": "^8.14.0",
+ "webpack-virtual-modules": "^0.6.2"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/unplugin-inject-preload": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unplugin-inject-preload/-/unplugin-inject-preload-2.0.0.tgz",
- "integrity": "sha512-n9r/2kAaxt0LnecJ9IS3uwX+aK10+MJjaUbusvxfIq4f2tz1YbeSkzuHP0eUTzC78UJnaGud2IQZeufGSuvDLg==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/unplugin-inject-preload/-/unplugin-inject-preload-2.0.5.tgz",
+ "integrity": "sha512-arvn0Yvsuo0GCI3AdJZWJIq8Xvxk9VHEPDQTPisiWnWxSgIp6JUKbUa52PviTGCmDfDoymg9xbkuCvK9cAiuAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mime-types": "^2.1.35",
- "unplugin": "^1.5.1",
+ "unplugin": "^1.11.0",
"webpack-sources": "^3.2.3"
},
"engines": {
@@ -11789,6 +13160,7 @@
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
}
@@ -11798,26 +13170,28 @@
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
},
"node_modules/use-sync-external-store": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz",
+ "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==",
+ "license": "MIT",
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
"node_modules/vfile": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz",
- "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
+ "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
- "unist-util-stringify-position": "^4.0.0",
"vfile-message": "^4.0.0"
},
"funding": {
@@ -11826,9 +13200,10 @@
}
},
"node_modules/vfile-location": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz",
- "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz",
+ "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"vfile": "^6.0.0"
@@ -11839,9 +13214,10 @@
}
},
"node_modules/vfile-message": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
- "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
+ "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-stringify-position": "^4.0.0"
@@ -11927,17 +13303,17 @@
}
},
"node_modules/vite-node": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.3.tgz",
- "integrity": "sha512-uHV4plJ2IxCl4u1up1FQRrqclylKAogbtBfOTwcuJ28xFi+89PZ57BRh+naIRvH70HPwxy5QHYzg1OrEaC7AbA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",
+ "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==",
"dev": true,
"license": "MIT",
"dependencies": {
"cac": "^6.7.14",
- "debug": "^4.4.0",
+ "debug": "^4.4.1",
"es-module-lexer": "^1.7.0",
"pathe": "^2.0.3",
- "vite": "^5.0.0 || ^6.0.0"
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
},
"bin": {
"vite-node": "vite-node.mjs"
@@ -11969,11 +13345,63 @@
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
}
},
+ "node_modules/vite-plugin-static-copy/node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/vite-plugin-static-copy/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/vite-plugin-static-copy/node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
"node_modules/vite-tsconfig-paths": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz",
"integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.1.1",
"globrex": "^0.1.2",
@@ -11989,9 +13417,9 @@
}
},
"node_modules/vite/node_modules/fdir": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
- "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -12004,9 +13432,9 @@
}
},
"node_modules/vite/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -12017,32 +13445,34 @@
}
},
"node_modules/vitest": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.3.tgz",
- "integrity": "sha512-188iM4hAHQ0km23TN/adso1q5hhwKqUpv+Sd6p5sOuh6FhQnRNW3IsiIpvxqahtBabsJ2SLZgmGSpcYK4wQYJw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz",
+ "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/expect": "3.1.3",
- "@vitest/mocker": "3.1.3",
- "@vitest/pretty-format": "^3.1.3",
- "@vitest/runner": "3.1.3",
- "@vitest/snapshot": "3.1.3",
- "@vitest/spy": "3.1.3",
- "@vitest/utils": "3.1.3",
+ "@types/chai": "^5.2.2",
+ "@vitest/expect": "3.2.4",
+ "@vitest/mocker": "3.2.4",
+ "@vitest/pretty-format": "^3.2.4",
+ "@vitest/runner": "3.2.4",
+ "@vitest/snapshot": "3.2.4",
+ "@vitest/spy": "3.2.4",
+ "@vitest/utils": "3.2.4",
"chai": "^5.2.0",
- "debug": "^4.4.0",
+ "debug": "^4.4.1",
"expect-type": "^1.2.1",
"magic-string": "^0.30.17",
"pathe": "^2.0.3",
+ "picomatch": "^4.0.2",
"std-env": "^3.9.0",
"tinybench": "^2.9.0",
"tinyexec": "^0.3.2",
- "tinyglobby": "^0.2.13",
- "tinypool": "^1.0.2",
+ "tinyglobby": "^0.2.14",
+ "tinypool": "^1.1.1",
"tinyrainbow": "^2.0.0",
- "vite": "^5.0.0 || ^6.0.0",
- "vite-node": "3.1.3",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
+ "vite-node": "3.2.4",
"why-is-node-running": "^2.3.0"
},
"bin": {
@@ -12058,8 +13488,8 @@
"@edge-runtime/vm": "*",
"@types/debug": "^4.1.12",
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
- "@vitest/browser": "3.1.3",
- "@vitest/ui": "3.1.3",
+ "@vitest/browser": "3.2.4",
+ "@vitest/ui": "3.2.4",
"happy-dom": "*",
"jsdom": "*"
},
@@ -12092,6 +13522,7 @@
"resolved": "https://registry.npmjs.org/vitest-canvas-mock/-/vitest-canvas-mock-0.3.3.tgz",
"integrity": "sha512-3P968tYBpqYyzzOaVtqnmYjqbe13576/fkjbDEJSfQAkHtC5/UjuRHOhFEN/ZV5HVZIkaROBUWgazDKJ+Ibw+Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jest-canvas-mock": "~2.5.2"
},
@@ -12099,10 +13530,24 @@
"vitest": "*"
}
},
+ "node_modules/vitest/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/void-elements": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
"integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -12112,6 +13557,7 @@
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
"integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"xml-name-validator": "^5.0.0"
},
@@ -12132,6 +13578,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
"integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -12141,6 +13588,7 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
"integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -12150,30 +13598,34 @@
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
"integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=12"
}
},
"node_modules/webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
+ "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/webpack-virtual-modules": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz",
- "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==",
- "dev": true
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/whatwg-encoding": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
"integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"iconv-lite": "0.6.3"
},
@@ -12186,17 +13638,19 @@
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
"integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/whatwg-url": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
- "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
+ "version": "14.2.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
+ "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "tr46": "^5.0.0",
+ "tr46": "^5.1.0",
"webidl-conversions": "^7.0.0"
},
"engines": {
@@ -12208,6 +13662,7 @@
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -12219,39 +13674,45 @@
}
},
"node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
+ "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
+ "is-bigint": "^1.1.0",
+ "is-boolean-object": "^1.2.1",
+ "is-number-object": "^1.1.1",
+ "is-string": "^1.1.1",
+ "is-symbol": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/which-builtin-type": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz",
- "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
+ "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "function.prototype.name": "^1.1.5",
- "has-tostringtag": "^1.0.0",
+ "call-bound": "^1.0.2",
+ "function.prototype.name": "^1.1.6",
+ "has-tostringtag": "^1.0.2",
"is-async-function": "^2.0.0",
- "is-date-object": "^1.0.5",
- "is-finalizationregistry": "^1.0.2",
+ "is-date-object": "^1.1.0",
+ "is-finalizationregistry": "^1.1.0",
"is-generator-function": "^1.0.10",
- "is-regex": "^1.1.4",
+ "is-regex": "^1.2.1",
"is-weakref": "^1.0.2",
"isarray": "^2.0.5",
- "which-boxed-primitive": "^1.0.2",
- "which-collection": "^1.0.1",
- "which-typed-array": "^1.1.9"
+ "which-boxed-primitive": "^1.1.0",
+ "which-collection": "^1.0.2",
+ "which-typed-array": "^1.1.16"
},
"engines": {
"node": ">= 0.4"
@@ -12265,6 +13726,7 @@
"resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
"integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-map": "^2.0.3",
"is-set": "^2.0.3",
@@ -12279,15 +13741,18 @@
}
},
"node_modules/which-typed-array": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
- "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
+ "version": "1.1.19",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
+ "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "for-each": "^0.3.5",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
"has-tostringtag": "^1.0.2"
},
"engines": {
@@ -12314,6 +13779,16 @@
"node": ">=8"
}
},
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/wrap-ansi": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz",
@@ -12429,12 +13904,13 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/ws": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz",
- "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==",
+ "version": "8.18.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+ "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -12458,6 +13934,7 @@
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
"integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=18"
}
@@ -12466,14 +13943,19 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/xmldoc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.3.0.tgz",
- "integrity": "sha512-y7IRWW6PvEnYQZNZFMRLNJw+p3pezM4nKYPfr15g4OOW9i8VpeydycFuipE2297OvZnh3jSb2pxOt9QpkZUVng==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-2.0.2.tgz",
+ "integrity": "sha512-UiRwoSStEXS3R+YE8OqYv3jebza8cBBAI2y8g3B15XFkn3SbEOyyLnmPHjLBPZANrPJKEzxxB7A3XwcLikQVlQ==",
+ "license": "MIT",
"dependencies": {
"sax": "^1.2.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
}
},
"node_modules/y18n": {
@@ -12481,6 +13963,7 @@
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
@@ -12493,16 +13976,16 @@
"license": "ISC"
},
"node_modules/yaml": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz",
- "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==",
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
+ "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
"dev": true,
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
- "node": ">= 14"
+ "node": ">= 14.6"
}
},
"node_modules/yargs": {
@@ -12510,6 +13993,7 @@
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -12528,6 +14012,7 @@
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -12536,13 +14021,15 @@
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/yargs/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -12552,6 +14039,7 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -12566,6 +14054,7 @@
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -12590,6 +14079,7 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
"integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
diff --git a/package.json b/package.json
index d986c058..83d55e0e 100644
--- a/package.json
+++ b/package.json
@@ -53,7 +53,6 @@
"i18next-browser-languagedetector": "^7.2.0",
"i18next-http-backend": "^2.4.2",
"json5": "^2.2.3",
- "pdfjs-dist": "^5.3.31",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^13.5.0",
diff --git a/public/pdf.worker.min.js b/public/pdf.worker.min.js
index e03786ac..cc3dd929 100644
--- a/public/pdf.worker.min.js
+++ b/public/pdf.worker.min.js
@@ -41876,7 +41876,7 @@
case 'FamilyBlues':
case 'FamilyOtherBlues':
const e = this.readNumberArray();
- e.length > 0 && e.length, 0;
+ (e.length > 0 && e.length, 0);
break;
case 'StemSnapH':
case 'StemSnapV':
diff --git a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
index 85d1b47b..7c8936ee 100644
--- a/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
+++ b/src/components/OnboardingComponents/SemanticSearch/ArticleDialog.tsx
@@ -22,7 +22,7 @@ import {Document, Page, pdfjs} from 'react-pdf';
import 'react-pdf/dist/Page/AnnotationLayer.css';
import 'react-pdf/dist/Page/TextLayer.css';
-pdfjs.GlobalWorkerOptions.workerSrc = '/pdf.worker.min.mjs';
+pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;
interface ArticleDialogProps {
open: boolean;
@@ -41,8 +41,8 @@ export default function ArticleDialog({open, onClose, article}: ArticleDialogPro
const containerRef = useRef(null);
useEffect(() => {
- const observer = new ResizeObserver((entries) => {
- const entry = entries.at(0);
+ const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {
+ const entry = entries[0];
if (entry) {
setContainerWidth(entry.contentRect.width);
}
diff --git a/vite.config.mts b/vite.config.mts
index cc21dee4..a55e72f4 100644
--- a/vite.config.mts
+++ b/vite.config.mts
@@ -6,7 +6,6 @@ import react from '@vitejs/plugin-react';
import tsconfigPaths from 'vite-tsconfig-paths';
import preload from 'unplugin-inject-preload/vite';
import eslintPlugin from '@nabla/vite-plugin-eslint';
-import {viteStaticCopy} from 'vite-plugin-static-copy';
export default defineConfig(({mode}) => {
const env = loadEnv(mode, process.cwd(), '');
@@ -17,14 +16,7 @@ export default defineConfig(({mode}) => {
react(),
eslintPlugin(),
tsconfigPaths(),
- viteStaticCopy({
- targets: [
- {
- src: 'node_modules/pdfjs-dist/build/pdf.worker.min.mjs',
- dest: '.',
- },
- ],
- }),
+
preload({
files: [
{
From 79d9a586e5a39d7cd52bcf822faf5b36b82f9573 Mon Sep 17 00:00:00 2001
From: Joao Victor Quintanilha
<113310477+fifth-island@users.noreply.github.com>
Date: Mon, 4 Aug 2025 14:15:21 +0200
Subject: [PATCH 12/19] fix: contribute.md formatting and adapted to latest
backend
---
assets/third-party-attributions.json | 2 +-
docs/contribute.md | 56 +++++++++----------
locales/de-global.json5 | 27 +--------
locales/en-global.json5 | 27 +--------
.../SemanticSearch/SearchResultItem.tsx | 39 +++++++++----
.../SemanticSearchContainer.tsx | 6 +-
src/context/SemanticSearchContext.tsx | 1 +
src/store/services/articleApi.ts | 1 +
src/types/semanticSearch.ts | 1 +
9 files changed, 64 insertions(+), 96 deletions(-)
diff --git a/assets/third-party-attributions.json b/assets/third-party-attributions.json
index 508e61bd..53f536a4 100644
--- a/assets/third-party-attributions.json
+++ b/assets/third-party-attributions.json
@@ -1 +1 @@
-[{"name":"@amcharts/amcharts5","authors":"amCharts (https://www.amcharts.com/)","version":"5.8.4","repository":"https://github.com/amcharts/amcharts5.git","license":"SEE LICENSE IN LICENSE","licenseText":"## Free amCharts license\n\nThis amCharts software is copyrighted by Antanas Marcelionis.\n\nThis amCharts software is provided under linkware license, conditions of which are outlined below.\n\n### You can\n\n* Use amCharts software in any of your projects, including commercial.\n* Modify amCharts software to suit your needs (source code is available at [here](https://github.com/amcharts/amcharts5)).\n* Bundle amCharts software with your own projects (free, open source, or commercial).\n\n### If the following conditions are met\n\n* You do not disable, hide or alter the branding link which is displayed on all the content generated by amCharts software.\n* You include this original LICENSE file together with original (or modified) files from amCharts software.\n* Your own personal license does not supersede or in any way negate the effect of this LICENSE, or make the impression of doing so.\n\n### You can't\n\n* Remove or alter this LICENSE file.\n* Remove any of the amCharts copyright notices from any of the files of amCharts software.\n* Use amCharts software without built-in attribution (logo). Please see note about commercial amCharts licenses below.\n* Sell or receive any compensation for amCharts software.\n* Distribute amCharts software on its own, not as part of other application.\n\n### The above does not suit you?\n\namCharts provides commercial licenses for purchase for various usage scenarios that are not covered by the above conditions.\n\nPlease refer to [this web page](https://www.amcharts.com/online-store/) or [contact amCharts support](mailto:contact@amcharts.com) for further information.\n\n### In doubt?\n\n[Contact amCharts](mailto:contact@amcharts.com). We'll be happy to sort you out."},{"name":"@emotion/react","authors":"Emotion Contributors","version":"11.11.4","repository":"https://github.com/emotion-js/emotion/tree/main/packages/react","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/styled","authors":null,"version":"11.11.0","repository":"https://github.com/emotion-js/emotion/tree/main/packages/styled","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/icons-material","authors":"MUI Team","version":"5.15.13","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/lab","authors":"MUI Team","version":"5.0.0-alpha.170","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/material","authors":"MUI Team","version":"5.15.13","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/system","authors":"MUI Team","version":"5.15.15","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/x-date-pickers","authors":"MUI Team","version":"6.20.0","repository":"https://github.com/mui/mui-x.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2020 Material-UI SAS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@reduxjs/toolkit","authors":"Mark Erikson ","version":"2.2.1","repository":"git+https://github.com/reduxjs/redux-toolkit.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2018 Mark Erikson\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"country-flag-icons","authors":"catamphetamine ","version":"1.5.9","repository":"git+https://gitlab.com/catamphetamine/country-flag-icons.git","license":"MIT","licenseText":"(The MIT License)\r\n\r\nCopyright (c) 2020 @catamphetamine \r\n\r\nPermission is hereby granted, free of charge, to any person obtaining\r\na copy of this software and associated documentation files (the\r\n'Software'), to deal in the Software without restriction, including\r\nwithout limitation the rights to use, copy, modify, merge, publish,\r\ndistribute, sublicense, and/or sell copies of the Software, and to\r\npermit persons to whom the Software is furnished to do so, subject to\r\nthe following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be\r\nincluded in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\r\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."},{"name":"dayjs","authors":"iamkun","version":"1.11.10","repository":"https://github.com/iamkun/dayjs.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2018-present, iamkun\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"i18next","authors":"Jan Mühlemann (https://github.com/jamuhl)","version":"23.10.1","repository":"https://github.com/i18next/i18next.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2024 i18next\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"i18next-browser-languagedetector","authors":"Jan Mühlemann (https://github.com/jamuhl)","version":"7.2.0","repository":"https://github.com/i18next/i18next-browser-languageDetector.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2023 i18next\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"},{"name":"i18next-http-backend","authors":null,"version":"2.5.0","repository":"git@github.com:i18next/i18next-http-backend.git","license":"MIT","licenseText":"Copyright (c) 2023 i18next\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"json5","authors":"Aseem Kishore ","version":"2.2.3","repository":"git+https://github.com/json5/json5.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2012-2018 Aseem Kishore, and [others].\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n[others]: https://github.com/json5/json5/contributors\n"},{"name":"react","authors":null,"version":"18.3.1","repository":"https://github.com/facebook/react.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Facebook, Inc. and its affiliates.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"react-dom","authors":null,"version":"18.3.1","repository":"https://github.com/facebook/react.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Facebook, Inc. and its affiliates.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"react-i18next","authors":"Jan Mühlemann (https://github.com/jamuhl)","version":"13.5.0","repository":"https://github.com/i18next/react-i18next.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2023 i18next\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"},{"name":"react-joyride","authors":"Gil Barbara ","version":"2.8.2","repository":"git+https://github.com/gilbarbara/react-joyride.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2015, Gil Barbara\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"react-lazyload","authors":"jasonslyvia (http://undefinedblog.com/)","version":"3.2.0","repository":"https://github.com/jasonslyvia/react-lazyload.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Sen Yang\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"},{"name":"react-markdown","authors":"Espen Hovlandsdal ","version":"9.0.1","repository":"remarkjs/react-markdown","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Espen Hovlandsdal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"react-oauth2-code-pkce","authors":"Stig Oskar Ofstad","version":"1.18.0","repository":"git+https://github.com/soofstad/react-oauth2-pkce.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Stig Oskar Ofstad\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"react-redux","authors":"Dan Abramov (https://github.com/gaearon)","version":"9.1.0","repository":"github:reduxjs/react-redux","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015-present Dan Abramov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"react-scroll-sync","authors":"Andrey Okonetchnikov ","version":"0.11.2","repository":"https://github.com/okonet/react-scroll-sync.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2016 Andrey Okonetchnikov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"redux","authors":"Dan Abramov (https://github.com/gaearon), Andrew Clark (https://github.com/acdlite)","version":"5.0.1","repository":"github:reduxjs/redux","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015-present Dan Abramov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"redux-persist","authors":null,"version":"6.0.0","repository":"rt2zz/redux-persist","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2017 Zack Story\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"rehype-katex","authors":"Junyoung Choi (https://rokt33r.github.io)","version":"7.0.0","repository":"https://github.com/remarkjs/remark-math/tree/main/packages/rehype-katex","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Junyoung Choi (https://rokt33r.github.io)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"remark-math","authors":"Junyoung Choi (https://rokt33r.github.io)","version":"6.0.0","repository":"https://github.com/remarkjs/remark-math/tree/main/packages/remark-math","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Junyoung Choi (https://rokt33r.github.io)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"rooks","authors":null,"version":"7.14.1","repository":"https://github.com/imbhargav5/rooks.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@types/d3","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema, Fil","version":"7.4.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-chord","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"3.0.6","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-hierarchy","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema, Fil","version":"3.1.1","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-sankey","authors":"Tom Wanzek, Alex Ford","version":"0.11.2","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-shape","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema, Fil","version":"3.1.6","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/geojson","authors":"Jacob Bruun, Arne Schubert, Jeff Jacobson, Ilia Choly, Dan Vanderkam","version":"7946.0.14","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/polylabel","authors":"Denis Carriere","version":"1.1.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/svg-arc-to-cubic-bezier","authors":"Fabien Caylus","version":"3.2.2","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"d3","authors":"Mike Bostock","version":"7.9.0","repository":"https://github.com/d3/d3.git","license":"ISC","licenseText":"Copyright 2010-2023 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-chord","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-chord.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-geo","authors":"Mike Bostock","version":"3.1.1","repository":"https://github.com/d3/d3-geo.git","license":"ISC","licenseText":"Copyright 2010-2024 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n\nThis license applies to GeographicLib, versions 1.12 and later.\n\nCopyright 2008-2012 Charles Karney\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"d3-sankey","authors":"Mike Bostock","version":"0.12.3","repository":"https://github.com/d3/d3-sankey.git","license":"BSD-3-Clause","licenseText":"Copyright 2015, Mike Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"d3-selection","authors":"Mike Bostock","version":"3.0.0","repository":"https://github.com/d3/d3-selection.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-transition","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-transition.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-voronoi-treemap","authors":" Kcnarf ","version":"1.1.2","repository":"https://github.com/Kcnarf/d3-voronoi-treemap.git","license":"BSD-3-Clause","licenseText":"BSD 3-Clause License\n\nCopyright (c) 2018, LEBEAU Franck\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"flatpickr","authors":"Gregory ","version":"4.6.13","repository":"git+https://github.com/chmln/flatpickr.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2017 Gregory Petrosyan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"markerjs2","authors":"Alan Mendelevich","version":"2.32.1","repository":"https://github.com/ailon/markerjs2","license":"SEE LICENSE IN LICENSE","licenseText":"marker.js 2 Linkware License\r\n\r\nCopyright (c) 2020 Alan Mendelevich\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\n1. The above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\n2. Link back to the Software website displayed during operation of the Software\r\nor an equivalent prominent public attribution must be retained. Alternative \r\ncommercial licenses can be obtained to remove this clause.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE."},{"name":"pdfmake","authors":"Bartek Pampuch ","version":"0.2.10","repository":"git://github.com/bpampuch/pdfmake.git","license":"MIT","licenseText":"The MIT License (MIT)\r\n\r\nCopyright (c) 2014-2015 bpampuch\r\n 2016-2024 liborm85\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of\r\nthis software and associated documentation files (the \"Software\"), to deal in\r\nthe Software without restriction, including without limitation the rights to\r\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r\nthe Software, and to permit persons to whom the Software is furnished to do so,\r\nsubject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n"},{"name":"polylabel","authors":"Vladimir Agafonkin","version":"1.1.0","repository":null,"license":"ISC","licenseText":"ISC License\nCopyright (c) 2016 Mapbox\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO\nTHIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR\nCONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA\nOR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS\nACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS\nSOFTWARE.\n"},{"name":"seedrandom","authors":"David Bau","version":"3.0.5","repository":"git://github.com/davidbau/seedrandom.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 David Bau\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"svg-arc-to-cubic-bezier","authors":"Colin Meinke","version":"3.2.0","repository":"https://github.com/colinmeinke/svg-arc-to-cubic-bezier","license":"ISC","licenseText":"Internet Systems Consortium license\n===================================\n\nCopyright (c) `2017`, `Colin Meinke`\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"tslib","authors":"Microsoft Corp.","version":"2.6.2","repository":"https://github.com/Microsoft/tslib.git","license":"0BSD","licenseText":"Copyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE."},{"name":"@babel/runtime","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.1","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@emotion/babel-plugin","authors":"Kye Hohenberger","version":"11.11.0","repository":"https://github.com/emotion-js/emotion/tree/main/packages/babel-plugin","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/cache","authors":null,"version":"11.11.0","repository":"https://github.com/emotion-js/emotion/tree/main/packages/cache","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/serialize","authors":null,"version":"1.1.3","repository":"https://github.com/emotion-js/emotion/tree/main/packages/serialize","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/use-insertion-effect-with-fallbacks","authors":null,"version":"1.0.1","repository":"https://github.com/emotion-js/emotion/tree/main/packages/use-insertion-effect-with-fallbacks","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/utils","authors":null,"version":"1.2.1","repository":"https://github.com/emotion-js/emotion/tree/main/packages/utils","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/weak-memoize","authors":null,"version":"0.3.1","repository":"https://github.com/emotion-js/emotion/tree/main/packages/weak-memoize","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"hoist-non-react-statics","authors":"Michael Ridgway ","version":"3.3.2","repository":"git://github.com/mridgway/hoist-non-react-statics.git","license":"BSD-3-Clause","licenseText":"Software License Agreement (BSD License)\n========================================\n\nCopyright (c) 2015, Yahoo! Inc. All rights reserved.\n----------------------------------------------------\n\nRedistribution and use of this software in source and binary forms, with or\nwithout modification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be\n used to endorse or promote products derived from this software without\n specific prior written permission of Yahoo! Inc.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"@emotion/is-prop-valid","authors":null,"version":"1.2.2","repository":"https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"clsx","authors":"Luke Edwards","version":"2.1.0","repository":"lukeed/clsx","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Luke Edwards (lukeed.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"prop-types","authors":null,"version":"15.8.1","repository":"facebook/prop-types","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2013-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/types","authors":"MUI Team","version":"7.2.14","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/utils","authors":"MUI Team","version":"5.15.14","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/base","authors":"MUI Team","version":"5.0.0-beta.39","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@types/react-transition-group","authors":"Karol Janyst, Epskampie, Masafumi Koba, Ben Grynhaus","version":"4.4.10","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"csstype","authors":"Fredrik Nicol ","version":"3.1.3","repository":"https://github.com/frenic/csstype","license":"MIT","licenseText":"Copyright (c) 2017-2018 Fredrik Nicol\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"react-is","authors":null,"version":"18.2.0","repository":"https://github.com/facebook/react.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Facebook, Inc. and its affiliates.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"react-transition-group","authors":null,"version":"4.4.5","repository":"https://github.com/reactjs/react-transition-group.git","license":"BSD-3-Clause","licenseText":"BSD 3-Clause License\n\nCopyright (c) 2018, React Community\nForked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"@mui/core-downloads-tracker","authors":"MUI Team","version":"5.15.13","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/private-theming","authors":"MUI Team","version":"5.15.14","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@mui/styled-engine","authors":"MUI Team","version":"5.15.14","repository":"https://github.com/mui/material-ui.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Call-Em-All\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"immer","authors":"Michel Weststrate ","version":"10.0.4","repository":"https://github.com/immerjs/immer.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2017 Michel Weststrate\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"redux-thunk","authors":"Dan Abramov ","version":"3.1.0","repository":"github:reduxjs/redux-thunk","license":"MIT","licenseText":"The MIT License (MIT)\r\n\r\nCopyright (c) 2015-present Dan Abramov\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n"},{"name":"reselect","authors":"Lee Bannard, Robert Binna, Martijn Faassen, Philip Spitzlinger","version":"5.1.0","repository":"https://github.com/reduxjs/reselect.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015-2018 Reselect Contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"cross-fetch","authors":"Leonardo Quixada ","version":"4.0.0","repository":"https://github.com/lquixada/cross-fetch.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2017 Leonardo Quixadá\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"loose-envify","authors":"Andres Suarez ","version":"1.4.0","repository":"git://github.com/zertosh/loose-envify.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Andres Suarez \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"scheduler","authors":null,"version":"0.23.2","repository":"https://github.com/facebook/react.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Facebook, Inc. and its affiliates.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"html-parse-stringify","authors":"Henrik Joreteg ","version":"3.0.1","repository":"https://github.com/henrikjoreteg/html-parse-stringify","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Henrik Joreteg \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@gilbarbara/deep-equal","authors":"Gil Barbara ","version":"0.3.1","repository":"git://github.com/gilbarbara/deep-equal.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2022 Gil Barbara\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"deep-diff","authors":"Phillip Clark ","version":"1.0.2","repository":"git://github.com/flitbit/diff.git","license":"MIT","licenseText":"Copyright (c) 2011-2018 Phillip Clark\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"deepmerge","authors":null,"version":"4.3.1","repository":"git://github.com/TehShrike/deepmerge.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2012 James Halliday, Josh Duff, and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"is-lite","authors":"Gil Barbara ","version":"1.2.1","repository":"git+https://github.com/gilbarbara/is-lite.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2018, Gil Barbara\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"react-floater","authors":"Gil Barbara ","version":"0.7.9","repository":"git+https://github.com/gilbarbara/react-floater.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2017, Gil Barbara\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"react-innertext","authors":"Charles Stover (react-innertext@charlesstover.com)","version":"1.1.5","repository":"github:CharlesStover/react-innertext","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2017 Charles Stover\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"scroll","authors":"Michael Rhodes","version":"3.0.1","repository":"git@github.com:michaelrhodes/scroll","license":"MIT","licenseText":"Copyright 2014 Michael Rhodes\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"scrollparent","authors":"Ola Holmström","version":"2.1.0","repository":"git+https://github.com/olahol/scrollparent.js.git","license":"ISC","licenseText":"The MIT License\n\nCopyright (c) 2014 Ola Holmström \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"tree-changes","authors":"Gil Barbara ","version":"0.11.2","repository":"git+https://github.com/gilbarbara/tree-changes.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2018, Gil Barbara\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@types/hast","authors":"lukeggchapman, Junyoung Choi, Christian Murphy, Remco Haszing","version":"3.0.4","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"devlop","authors":"Titus Wormer (https://wooorm.com)","version":"1.1.0","repository":"wooorm/devlop","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2023 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"hast-util-to-jsx-runtime","authors":"Titus Wormer (https://wooorm.com)","version":"2.3.0","repository":"syntax-tree/hast-util-to-jsx-runtime","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2023 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"html-url-attributes","authors":"Titus Wormer (https://wooorm.com)","version":"3.0.0","repository":"https://github.com/rehypejs/rehype-minify/tree/main/packages/html-url-attributes","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"mdast-util-to-hast","authors":"Titus Wormer (https://wooorm.com)","version":"13.1.0","repository":"syntax-tree/mdast-util-to-hast","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"remark-parse","authors":"Titus Wormer (https://wooorm.com)","version":"11.0.0","repository":"https://github.com/remarkjs/remark/tree/main/packages/remark-parse","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2014 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"remark-rehype","authors":"Titus Wormer (https://wooorm.com)","version":"11.1.0","repository":"remarkjs/remark-rehype","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"unified","authors":"Titus Wormer (https://wooorm.com)","version":"11.0.4","repository":"unifiedjs/unified","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"unist-util-visit","authors":"Titus Wormer (https://wooorm.com)","version":"5.0.0","repository":"syntax-tree/unist-util-visit","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"vfile","authors":"Titus Wormer (https://wooorm.com)","version":"6.0.1","repository":"vfile/vfile","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"@types/use-sync-external-store","authors":"eps1lon, Mark Erikson","version":"0.0.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"use-sync-external-store","authors":null,"version":"1.2.0","repository":"https://github.com/facebook/react.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Facebook, Inc. and its affiliates.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@types/katex","authors":"Michael Randolph, Kevin Nguyen, bLue, Sebastian Weigand, sapphi-red, Stefaans","version":"0.16.7","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"hast-util-from-html-isomorphic","authors":"Remco Haszing ","version":"2.0.0","repository":"syntax-tree/hast-util-from-html-isomorphic","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2023 Remco Haszing \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"hast-util-to-text","authors":"Titus Wormer (https://wooorm.com)","version":"4.0.0","repository":"syntax-tree/hast-util-to-text","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2019 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"katex","authors":null,"version":"0.16.22","repository":"https://github.com/KaTeX/KaTeX.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2013-2020 Khan Academy and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"unist-util-visit-parents","authors":"Titus Wormer (https://wooorm.com)","version":"6.0.1","repository":"syntax-tree/unist-util-visit-parents","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@types/mdast","authors":"Christian Murphy, Jun Lu, Remco Haszing, Titus Wormer, Remco Haszing","version":"4.0.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"mdast-util-math","authors":"Titus Wormer (https://wooorm.com)","version":"3.0.0","repository":"syntax-tree/mdast-util-math","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2020 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"micromark-extension-math","authors":"Titus Wormer (https://wooorm.com)","version":"3.0.0","repository":"micromark/micromark-extension-math","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2020 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"fast-deep-equal","authors":"Evgeny Poberezkin","version":"3.1.3","repository":"git+https://github.com/epoberezkin/fast-deep-equal.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2017 Evgeny Poberezkin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"lodash.debounce","authors":"John-David Dalton (http://allyoucanleet.com/)","version":"4.0.8","repository":"lodash/lodash","license":"MIT","licenseText":"Copyright jQuery Foundation and other contributors \n\nBased on Underscore.js, copyright Jeremy Ashkenas,\nDocumentCloud and Investigative Reporters & Editors \n\nThis software consists of voluntary contributions made by many\nindividuals. For exact contribution history, see the revision history\navailable at https://github.com/lodash/lodash\n\nThe following license applies to all parts of this software except as\ndocumented below:\n\n====\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n====\n\nCopyright and related rights for sample code are waived via CC0. Sample\ncode is defined as all source code displayed within the prose of the\ndocumentation.\n\nCC0: http://creativecommons.org/publicdomain/zero/1.0/\n\n====\n\nFiles located in the node_modules and vendor directories are externally\nmaintained libraries used by this software which have their own\nlicenses; we recommend you read them, as their terms may differ from the\nterms above.\n"},{"name":"raf","authors":"Chris Dickinson ","version":"3.4.1","repository":"git://github.com/chrisdickinson/raf.git","license":"MIT","licenseText":"Copyright 2013 Chris Dickinson \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@types/d3-array","authors":"Alex Ford, Boris Yankov, Tom Wanzek, denisname, Hugues Stefanski, Nathan Bierema, Fil","version":"3.2.1","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-axis","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.6","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-brush","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"3.0.6","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-color","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Hugues Stefanski, Nathan Bierema, Fil","version":"3.1.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-contour","authors":"Tom Wanzek, Hugues Stefanski, Nathan Bierema","version":"3.0.6","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-delaunay","authors":"Bradley Odell, Nathan Bierema","version":"6.0.4","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-dispatch","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.6","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-drag","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"3.0.7","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-dsv","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.7","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-ease","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"3.0.2","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-fetch","authors":"Hugues Stefanski, denisname, Nathan Bierema","version":"3.0.7","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-force","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.9","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-format","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.4","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-geo","authors":"Hugues Stefanski, Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"3.1.0","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-interpolate","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.4","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-path","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"3.1.0","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-polygon","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"3.0.2","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-quadtree","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.6","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-random","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"3.0.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-scale","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, rulonder, Nathan Bierema","version":"4.0.8","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-scale-chromatic","authors":"Hugues Stefanski, Alex Ford, Boris Yankov, Henrique Machado, Nathan Bierema","version":"3.0.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-selection","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema, Ambar Mutha","version":"3.0.10","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-time","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-time-format","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Nathan Bierema","version":"4.0.3","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-timer","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.2","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-transition","authors":"Tom Wanzek, Alex Ford, Boris Yankov, Robert Moura, Nathan Bierema","version":"3.0.8","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@types/d3-zoom","authors":"Tom Wanzek, Alex Ford, Boris Yankov, denisname, Nathan Bierema","version":"3.0.8","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"d3-array","authors":"Mike Bostock","version":"3.2.4","repository":"https://github.com/d3/d3-array.git","license":"ISC","licenseText":"Copyright 2010-2023 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-axis","authors":"Mike Bostock","version":"3.0.0","repository":"https://github.com/d3/d3-axis.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-brush","authors":"Mike Bostock","version":"3.0.0","repository":"https://github.com/d3/d3-brush.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-color","authors":"Mike Bostock","version":"3.1.0","repository":"https://github.com/d3/d3-color.git","license":"ISC","licenseText":"Copyright 2010-2022 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-contour","authors":"Mike Bostock","version":"4.0.2","repository":"https://github.com/d3/d3-contour.git","license":"ISC","licenseText":"Copyright 2012-2023 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-delaunay","authors":"Mike Bostock","version":"6.0.4","repository":"https://github.com/d3/d3-delaunay.git","license":"ISC","licenseText":"Copyright 2018-2021 Observable, Inc.\nCopyright 2021 Mapbox\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-dispatch","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-dispatch.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-drag","authors":"Mike Bostock","version":"3.0.0","repository":"https://github.com/d3/d3-drag.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-dsv","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-dsv.git","license":"ISC","licenseText":"Copyright 2013-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-ease","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-ease.git","license":"BSD-3-Clause","licenseText":"Copyright 2010-2021 Mike Bostock\nCopyright 2001 Robert Penner\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the author nor the names of contributors may be used to\n endorse or promote products derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"d3-fetch","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-fetch.git","license":"ISC","licenseText":"Copyright 2016-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-force","authors":"Mike Bostock","version":"3.0.0","repository":"https://github.com/d3/d3-force.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-format","authors":"Mike Bostock","version":"3.1.0","repository":"https://github.com/d3/d3-format.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-hierarchy","authors":"Mike Bostock","version":"3.1.2","repository":"https://github.com/d3/d3-hierarchy.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-interpolate","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-interpolate.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-path","authors":"Mike Bostock","version":"3.1.0","repository":"https://github.com/d3/d3-path.git","license":"ISC","licenseText":"Copyright 2015-2022 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-polygon","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-polygon.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-quadtree","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-quadtree.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-random","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-random.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-scale","authors":"Mike Bostock","version":"4.0.2","repository":"https://github.com/d3/d3-scale.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-scale-chromatic","authors":"Mike Bostock","version":"3.1.0","repository":"https://github.com/d3/d3-scale-chromatic.git","license":"ISC","licenseText":"Copyright 2010-2024 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n\nApache-Style Software License for ColorBrewer software and ColorBrewer Color Schemes\n\nCopyright 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State University\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License.\n"},{"name":"d3-shape","authors":"Mike Bostock","version":"3.2.0","repository":"https://github.com/d3/d3-shape.git","license":"ISC","licenseText":"Copyright 2010-2022 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-time","authors":"Mike Bostock","version":"3.1.0","repository":"https://github.com/d3/d3-time.git","license":"ISC","licenseText":"Copyright 2010-2022 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-time-format","authors":"Mike Bostock","version":"4.1.0","repository":"https://github.com/d3/d3-time-format.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-timer","authors":"Mike Bostock","version":"3.0.1","repository":"https://github.com/d3/d3-timer.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-zoom","authors":"Mike Bostock","version":"3.0.0","repository":"https://github.com/d3/d3-zoom.git","license":"ISC","licenseText":"Copyright 2010-2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"d3-voronoi-map","authors":" Kcnarf ","version":"2.1.1","repository":"https://github.com/Kcnarf/d3-voronoi-map.git","license":"BSD-3-Clause","licenseText":"BSD 3-Clause License\n\nCopyright (c) 2018, LEBEAU Franck\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"@foliojs-fork/linebreak","authors":"Devon Govett ","version":"1.1.2","repository":"https://github.com/foliojs-fork/linebreaker.git","license":"MIT","licenseText":"MIT License\r\n\r\nCopyright (c) 2014-present Devon Govett\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n"},{"name":"@foliojs-fork/pdfkit","authors":"Devon Govett","version":"0.14.0","repository":"https://github.com/foliojs-fork/pdfkit.git","license":"MIT","licenseText":"MIT LICENSE\r\nCopyright (c) 2014 Devon Govett\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."},{"name":"iconv-lite","authors":"Alexander Shtuchkin ","version":"0.6.3","repository":"git://github.com/ashtuchkin/iconv-lite.git","license":"MIT","licenseText":"Copyright (c) 2011 Alexander Shtuchkin\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n"},{"name":"xmldoc","authors":"Nick Farina","version":"1.3.0","repository":"git://github.com/nfarina/xmldoc.git","license":"MIT","licenseText":"Copyright 2012 Nick Farina.\nAll rights reserved.\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"tinyqueue","authors":null,"version":"2.0.3","repository":"https://github.com/mourner/tinyqueue.git","license":"ISC","licenseText":"ISC License\n\nCopyright (c) 2017, Vladimir Agafonkin\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"@babel/helper-module-imports","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.1","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@emotion/hash","authors":null,"version":"0.9.1","repository":"https://github.com/emotion-js/emotion/tree/main/packages/hash","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/memoize","authors":null,"version":"0.8.1","repository":"https://github.com/emotion-js/emotion/tree/main/packages/memoize","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"babel-plugin-macros","authors":"Kent C. Dodds (https://kentcdodds.com)","version":"3.1.0","repository":"https://github.com/kentcdodds/babel-plugin-macros","license":"MIT","licenseText":"The MIT License (MIT)\nCopyright (c) 2020 Kent C. Dodds\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"convert-source-map","authors":"Thorsten Lorenz","version":"2.0.0","repository":"git://github.com/thlorenz/convert-source-map.git","license":"MIT","licenseText":"Copyright 2013 Thorsten Lorenz. \nAll rights reserved.\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"escape-string-regexp","authors":"Sindre Sorhus","version":"4.0.0","repository":"sindresorhus/escape-string-regexp","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"find-root","authors":"jsdnxx","version":"1.1.0","repository":"git@github.com:js-n/find-root.git","license":"MIT","licenseText":"Copyright © 2017 jsdnxx\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."},{"name":"source-map","authors":"Nick Fitzgerald ","version":"0.5.7","repository":"http://github.com/mozilla/source-map.git","license":"BSD-3-Clause","licenseText":"\nCopyright (c) 2009-2011, Mozilla Foundation and contributors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the names of the Mozilla Foundation nor the names of project\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"stylis","authors":"Sultan Tarimo ","version":"4.2.0","repository":"https://github.com/thysultan/stylis.js","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2016-present Sultan Tarimo\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/sheet","authors":null,"version":"1.2.2","repository":"https://github.com/emotion-js/emotion/tree/main/packages/sheet","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@emotion/unitless","authors":null,"version":"0.8.1","repository":"https://github.com/emotion-js/emotion/tree/main/packages/unitless","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"object-assign","authors":"Sindre Sorhus","version":"4.1.1","repository":"sindresorhus/object-assign","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"@types/prop-types","authors":"DovydasNavickas, Ferdy Budhidharma, Sebastian Silbermann","version":"15.7.11","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"@floating-ui/react-dom","authors":"atomiks","version":"2.0.8","repository":"https://github.com/floating-ui/floating-ui.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2021-present Floating UI contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@popperjs/core","authors":"Federico Zivolo ","version":"2.11.8","repository":"github:popperjs/popper-core","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2019 Federico Zivolo\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@types/react","authors":"Asana, AssureSign, Microsoft, John Reilly, Benoit Benezech, Patricio Zavolinsky, Eric Anderson, Dovydas Navickas, Josh Rutherford, Guilherme Hübner, Ferdy Budhidharma, Johann Rakotoharisoa, Olivier Pascal, Martin Hochel, Frank Li, Jessica Franco, Saransh Kataria, Kanitkorn Sujautra, Sebastian Silbermann, Kyle Scully, Cong Zhang, Dimitri Mitropoulos, JongChan Choi, Victor Magalhães, Dale Tan, Priyanshu Rav, Dmitry Semigradsky, Matt Pocock","version":"18.2.66","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"dom-helpers","authors":"Jason Quense","version":"5.2.1","repository":"git+https://github.com/react-bootstrap/dom-helpers.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Jason Quense\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."},{"name":"node-fetch","authors":"David Frank","version":"3.3.2","repository":"https://github.com/node-fetch/node-fetch.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016 - 2020 Node Fetch Team\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"},{"name":"js-tokens","authors":"Simon Lydell","version":"4.0.0","repository":"lydell/js-tokens","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"void-elements","authors":"hemanth.hm","version":"3.1.0","repository":"pugjs/void-elements","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2014 hemanth\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"popper.js","authors":"Federico Zivolo ","version":"1.16.1","repository":"git+https://github.com/FezVrasta/popper.js.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Federico Zivolo \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@types/unist","authors":"bizen241, Jun Lu, Hernan Rajchert, Titus Wormer, Junyoung Choi, Ben Moon, JounQin, Remco Haszing","version":"3.0.2","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"dequal","authors":"Luke Edwards","version":"2.0.3","repository":"lukeed/dequal","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) Luke Edwards (lukeed.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"@types/estree","authors":"RReverser","version":"1.0.7","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"comma-separated-tokens","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.3","repository":"wooorm/comma-separated-tokens","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"estree-util-is-identifier-name","authors":"Titus Wormer (https://wooorm.com)","version":"3.0.0","repository":"syntax-tree/estree-util-is-identifier-name","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2020 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"hast-util-whitespace","authors":"Titus Wormer (https://wooorm.com)","version":"3.0.0","repository":"syntax-tree/hast-util-whitespace","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"mdast-util-mdx-expression","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"syntax-tree/mdast-util-mdx-expression","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2020 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"mdast-util-mdx-jsx","authors":"Titus Wormer (https://wooorm.com)","version":"3.1.2","repository":"syntax-tree/mdast-util-mdx-jsx","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2020 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"mdast-util-mdxjs-esm","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"syntax-tree/mdast-util-mdxjs-esm","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2020 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"property-information","authors":"Titus Wormer (https://wooorm.com)","version":"6.4.1","repository":"wooorm/property-information","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"space-separated-tokens","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.2","repository":"wooorm/space-separated-tokens","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"style-to-object","authors":"Mark ","version":"1.0.5","repository":"https://github.com/remarkablemark/style-to-object","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2017 Menglin \"Mark\" Xu \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"unist-util-position","authors":"Titus Wormer (https://wooorm.com)","version":"5.0.0","repository":"syntax-tree/unist-util-position","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"vfile-message","authors":"Titus Wormer (https://wooorm.com)","version":"4.0.2","repository":"vfile/vfile-message","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2017 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@ungap/structured-clone","authors":"Andrea Giammarchi","version":"1.2.0","repository":"git+https://github.com/ungap/structured-clone.git","license":"ISC","licenseText":"ISC License\n\nCopyright (c) 2021, Andrea Giammarchi, @WebReflection\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE\nOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n"},{"name":"micromark-util-sanitize-uri","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-sanitize-uri","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"trim-lines","authors":"Titus Wormer (https://wooorm.com)","version":"3.0.1","repository":"wooorm/trim-lines","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"mdast-util-from-markdown","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"syntax-tree/mdast-util-from-markdown","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2020 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"micromark-util-types","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-types","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"bail","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.2","repository":"wooorm/bail","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"extend","authors":"Stefan Thomas (http://www.justmoon.net)","version":"3.0.2","repository":"https://github.com/justmoon/node-extend.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Stefan Thomas\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n"},{"name":"is-plain-obj","authors":"Sindre Sorhus","version":"4.1.0","repository":"sindresorhus/is-plain-obj","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"trough","authors":"Titus Wormer (https://wooorm.com)","version":"2.2.0","repository":"wooorm/trough","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"unist-util-is","authors":"Titus Wormer (https://wooorm.com)","version":"6.0.0","repository":"syntax-tree/unist-util-is","license":"MIT","licenseText":"(The MIT license)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"unist-util-stringify-position","authors":"Titus Wormer (https://wooorm.com)","version":"4.0.0","repository":"syntax-tree/unist-util-stringify-position","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"hast-util-from-html","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"syntax-tree/hast-util-from-html","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2022 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"hast-util-from-dom","authors":"Keith McKnight (https://keith.mcknig.ht)","version":"5.0.0","repository":"syntax-tree/hast-util-from-dom","license":"ISC","licenseText":"(ISC License)\n\nCopyright (c) 2018 Keith McKnight \n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"unist-util-remove-position","authors":"Titus Wormer (https://wooorm.com)","version":"5.0.0","repository":"syntax-tree/unist-util-remove-position","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"hast-util-is-element","authors":"Titus Wormer (https://wooorm.com)","version":"3.0.0","repository":"syntax-tree/hast-util-is-element","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"unist-util-find-after","authors":"Titus Wormer (https://wooorm.com)","version":"5.0.0","repository":"syntax-tree/unist-util-find-after","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"commander","authors":"TJ Holowaychuk ","version":"7.2.0","repository":"https://github.com/tj/commander.js.git","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"longest-streak","authors":"Titus Wormer (https://wooorm.com)","version":"3.1.0","repository":"wooorm/longest-streak","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"mdast-util-to-markdown","authors":"Titus Wormer (https://wooorm.com)","version":"2.1.0","repository":"syntax-tree/mdast-util-to-markdown","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2020 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"micromark-factory-space","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-factory-space","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-character","authors":"Titus Wormer (https://wooorm.com)","version":"2.1.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-character","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-symbol","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"performance-now","authors":"Braveg1rl ","version":"2.1.0","repository":"git://github.com/braveg1rl/performance-now.git","license":"MIT","licenseText":"Copyright (c) 2013 Braveg1rl\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."},{"name":"internmap","authors":"Mike Bostock","version":"2.0.3","repository":"https://github.com/mbostock/internmap.git","license":"ISC","licenseText":"Copyright 2021 Mike Bostock\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"delaunator","authors":"Vladimir Agafonkin","version":"5.0.1","repository":"https://github.com/mapbox/delaunator.git","license":"ISC","licenseText":"ISC License\n\nCopyright (c) 2021, Mapbox\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"rw","authors":"Mike Bostock","version":"1.3.3","repository":"http://github.com/mbostock/rw.git","license":"BSD-3-Clause","licenseText":"Copyright (c) 2014-2016, Michael Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* The name Michael Bostock may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT,\nINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"d3-weighted-voronoi","authors":" Kcnarf ","version":"1.1.3","repository":"https://github.com/Kcnarf/d3-weighted-voronoi.git","license":"BSD-3-Clause","licenseText":"BSD 3-Clause License\n\nCopyright (c) 2018, LEBEAU Franck\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"base64-js","authors":"T. Jameson Little ","version":"1.3.1","repository":"git://github.com/beatgammit/base64-js.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Jameson Little\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"unicode-trie","authors":"Devon Govett ","version":"2.0.0","repository":"git://github.com/devongovett/unicode-trie.git","license":"MIT","licenseText":"Copyright 2018\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n"},{"name":"crypto-js","authors":"Evan Vosberg","version":"4.2.0","repository":"http://github.com/brix/crypto-js.git","license":"MIT","licenseText":"# License\n\n[The MIT License (MIT)](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2009-2013 Jeff Mott \nCopyright (c) 2013-2016 Evan Vosberg\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"@foliojs-fork/fontkit","authors":"Devon Govett ","version":"1.9.2","repository":"git://github.com/foliojs-fork/fontkit.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Devon Govett \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"png-js","authors":"Devon Govett","version":"1.0.0","repository":"https://github.com/devongovett/png.js.git","license":null,"licenseText":"MIT License\n\nCopyright (c) 2017 Devon Govett\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"safer-buffer","authors":"Nikita Skovoroda","version":"2.1.2","repository":"git+https://github.com/ChALkeR/safer-buffer.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2018 Nikita Skovoroda \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"sax","authors":"Isaac Z. Schlueter (http://blog.izs.me/)","version":"1.3.0","repository":"git://github.com/isaacs/sax-js.git","license":"ISC","licenseText":"The ISC License\n\nCopyright (c) 2010-2022 Isaac Z. Schlueter and Contributors\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR\nIN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n====\n\n`String.fromCodePoint` by Mathias Bynens used according to terms of MIT\nLicense, as follows:\n\nCopyright (c) 2010-2022 Mathias Bynens \n\n Permission is hereby granted, free of charge, to any person obtaining\n a copy of this software and associated documentation files (the\n \"Software\"), to deal in the Software without restriction, including\n without limitation the rights to use, copy, modify, merge, publish,\n distribute, sublicense, and/or sell copies of the Software, and to\n permit persons to whom the Software is furnished to do so, subject to\n the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@babel/traverse","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.1","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@babel/types","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.1","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"cosmiconfig","authors":"David Clark ","version":"7.1.0","repository":"git+https://github.com/davidtheclark/cosmiconfig.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 David Clark\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"},{"name":"resolve","authors":"James Halliday","version":"1.22.8","repository":"git://github.com/browserify/resolve.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2012 James Halliday\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@floating-ui/dom","authors":"atomiks","version":"1.6.3","repository":"https://github.com/floating-ui/floating-ui.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2021-present Floating UI contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@types/scheduler","authors":"Nathan Bierema, Sebastian Silbermann","version":"0.16.8","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"data-uri-to-buffer","authors":"Nathan Rajlich (http://n8.io/)","version":"4.0.1","repository":"git://github.com/TooTallNate/node-data-uri-to-buffer.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Nathan Rajlich (http://n8.io/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"fetch-blob","authors":"Jimmy Wärting (https://jimmy.warting.se)","version":"3.2.0","repository":"https://github.com/node-fetch/fetch-blob.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2019 David Frank\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"formdata-polyfill","authors":"Jimmy Wärting","version":"4.0.10","repository":"git+https://jimmywarting@github.com/jimmywarting/FormData.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2016 Jimmy Karl Roland Wärting\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@types/estree-jsx","authors":"Tony Ross","version":"1.0.5","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"ccount","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"wooorm/ccount","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"parse-entities","authors":"Titus Wormer (https://wooorm.com)","version":"4.0.1","repository":"wooorm/parse-entities","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"stringify-entities","authors":"Titus Wormer (https://wooorm.com)","version":"4.0.3","repository":"wooorm/stringify-entities","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"inline-style-parser","authors":null,"version":"0.2.2","repository":"https://github.com/remarkablemark/inline-style-parser","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-encode","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-encode","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"decode-named-character-reference","authors":"Titus Wormer (https://wooorm.com)","version":"1.0.2","repository":"wooorm/decode-named-character-reference","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2021 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"mdast-util-to-string","authors":"Titus Wormer (https://wooorm.com)","version":"4.0.0","repository":"syntax-tree/mdast-util-to-string","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"micromark","authors":"Titus Wormer (https://wooorm.com)","version":"4.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-decode-numeric-character-reference","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-numeric-character-reference","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-decode-string","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-string","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-normalize-identifier","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-normalize-identifier","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"hast-util-from-parse5","authors":"Titus Wormer (https://wooorm.com)","version":"8.0.1","repository":"syntax-tree/hast-util-from-parse5","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"parse5","authors":"Ivan Nikulin (https://github.com/inikulin)","version":"7.1.2","repository":"git://github.com/inikulin/parse5.git","license":"MIT","licenseText":"Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"hastscript","authors":"Titus Wormer (https://wooorm.com)","version":"8.0.0","repository":"syntax-tree/hastscript","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"web-namespaces","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"wooorm/web-namespaces","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"mdast-util-phrasing","authors":"Victor Felder (https://draft.li)","version":"4.1.0","repository":"syntax-tree/mdast-util-phrasing","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2017 Titus Wormer \nCopyright (c) 2017 Victor Felder \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"zwitch","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.4","repository":"wooorm/zwitch","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"robust-predicates","authors":"Vladimir Agafonkin","version":"3.0.2","repository":"https://github.com/mourner/robust-predicates.git","license":"Unlicense","licenseText":"This is free and unencumbered software released into the public domain.\n\nAnyone is free to copy, modify, publish, use, compile, sell, or\ndistribute this software, either in source code form or as a compiled\nbinary, for any purpose, commercial or non-commercial, and by any\nmeans.\n\nIn jurisdictions that recognize copyright laws, the author or authors\nof this software dedicate any and all copyright interest in the\nsoftware to the public domain. We make this dedication for the benefit\nof the public at large and to the detriment of our heirs and\nsuccessors. We intend this dedication to be an overt act of\nrelinquishment in perpetuity of all present and future rights to this\nsoftware under copyright law.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\nOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\nARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n\nFor more information, please refer to \n"},{"name":"pako","authors":"Andrei Tuputcyn (https://github.com/andr83), Vitaly Puzrin (https://github.com/puzrin)","version":"0.2.9","repository":"nodeca/pako","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (C) 2014-2016 by Vitaly Puzrin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"tiny-inflate","authors":"Devon Govett ","version":"1.0.3","repository":"git://github.com/devongovett/tiny-inflate.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2015-present Devon Govett\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"brotli","authors":"Devon Govett ","version":"1.3.3","repository":"https://github.com/devongovett/brotli.js.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Devon Govett \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"clone","authors":"Paul Vorbach (http://paul.vorba.ch/)","version":"1.0.4","repository":"git://github.com/pvorb/node-clone.git","license":"MIT","licenseText":"Copyright © 2011-2015 Paul Vorbach \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the “Software”), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"dfa","authors":"Devon Govett ","version":"1.2.0","repository":"git+ssh://git@github.com/devongovett/dfa.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Devon Govett \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@foliojs-fork/restructure","authors":"Devon Govett ","version":"2.0.2","repository":"git://github.com/foliojs-fork/restructure.git","license":"MIT","licenseText":"MIT License\r\n\r\nCopyright (c) 2015-present Devon Govett\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n"},{"name":"unicode-properties","authors":"Devon Govett ","version":"1.4.1","repository":"git://github.com/devongovett/unicode-properties.git","license":"MIT","licenseText":"Copyright 2018\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n"},{"name":"@babel/code-frame","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.1","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@babel/generator","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.1","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@babel/parser","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.2","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"Copyright (C) 2012-2014 by various contributors (see AUTHORS)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"name":"@babel/template","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.2","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"debug","authors":"Josh Junon (https://github.com/qix-)","version":"4.4.1","repository":"git://github.com/debug-js/debug.git","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2014-2017 TJ Holowaychuk \nCopyright (c) 2018-2021 Josh Junon\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software\nand associated documentation files (the 'Software'), to deal in the Software without restriction,\nincluding without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\nand/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial\nportions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT\nLIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n"},{"name":"globals","authors":"Sindre Sorhus","version":"11.12.0","repository":"sindresorhus/globals","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@babel/helper-string-parser","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.1","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@babel/helper-validator-identifier","authors":"The Babel Team (https://babel.dev/team)","version":"7.27.1","repository":"https://github.com/babel/babel.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2014-present Sebastian McKenzie and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@types/parse-json","authors":"mrmlnc","version":"4.0.2","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"import-fresh","authors":"Sindre Sorhus","version":"3.3.0","repository":"sindresorhus/import-fresh","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"parse-json","authors":"Sindre Sorhus","version":"5.2.0","repository":"sindresorhus/parse-json","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"path-type","authors":"Sindre Sorhus","version":"4.0.0","repository":"sindresorhus/path-type","license":"MIT","licenseText":"MIT License\n\nCopyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"yaml","authors":"Eemeli Aro ","version":"2.7.1","repository":"github:eemeli/yaml","license":"ISC","licenseText":"Copyright Eemeli Aro \n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n"},{"name":"is-core-module","authors":"Jordan Harband ","version":"2.13.1","repository":"git+https://github.com/inspect-js/is-core-module.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2014 Dave Justice\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."},{"name":"path-parse","authors":"Javier Blanco ","version":"1.0.7","repository":"https://github.com/jbgutierrez/path-parse.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2015 Javier Blanco\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"supports-preserve-symlinks-flag","authors":"Jordan Harband ","version":"1.0.0","repository":"git+https://github.com/inspect-js/node-supports-preserve-symlinks-flag.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2022 Inspect JS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"@floating-ui/core","authors":"atomiks","version":"1.6.0","repository":"https://github.com/floating-ui/floating-ui.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2021-present Floating UI contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@floating-ui/utils","authors":"atomiks","version":"0.2.1","repository":"https://github.com/floating-ui/floating-ui.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2021-present Floating UI contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"node-domexception","authors":"Jimmy Wärting","version":"1.0.0","repository":"git+https://github.com/jimmywarting/node-domexception.git","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2021 Jimmy Wärting\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"web-streams-polyfill","authors":"Mattias Buelens ","version":"3.3.3","repository":"git+https://github.com/MattiasBuelens/web-streams-polyfill.git","license":"MIT","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2024 Mattias Buelens\nCopyright (c) 2016 Diwank Singh Tomer\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"character-entities","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.2","repository":"wooorm/character-entities","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"character-entities-legacy","authors":"Titus Wormer (https://wooorm.com)","version":"3.0.0","repository":"wooorm/character-entities-legacy","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"character-reference-invalid","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"wooorm/character-reference-invalid","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"is-alphanumerical","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"wooorm/is-alphanumerical","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"is-decimal","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"wooorm/is-decimal","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"is-hexadecimal","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.1","repository":"wooorm/is-hexadecimal","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"character-entities-html4","authors":"Titus Wormer (https://wooorm.com)","version":"2.1.0","repository":"wooorm/character-entities-html4","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2015 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"@types/debug","authors":"Seon-Wook Park, Gal Talmor, John McLaughlin, Brasten Sager, Nicolas Penin, Kristian Brünn, Caleb Gregory","version":"4.1.12","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","license":"MIT","licenseText":" MIT License\n\n Copyright (c) Microsoft Corporation.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE\n"},{"name":"micromark-core-commonmark","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-chunked","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-chunked","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-combine-extensions","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-combine-extensions","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-resolve-all","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-resolve-all","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"micromark-util-subtokenize","authors":"Titus Wormer (https://wooorm.com)","version":"2.0.0","repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize","license":"MIT","licenseText":"MIT License\n\nCopyright (c) 2025 Titus Wormer (https://wooorm.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"name":"vfile-location","authors":"Titus Wormer (https://wooorm.com)","version":"5.0.2","repository":"vfile/vfile-location","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"entities","authors":"Felix Boehm ","version":"4.5.0","repository":"git://github.com/fb55/entities.git","license":"BSD-2-Clause","licenseText":"Copyright (c) Felix Böhm\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\nTHIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},{"name":"hast-util-parse-selector","authors":"Titus Wormer (https://wooorm.com)","version":"4.0.0","repository":"syntax-tree/hast-util-parse-selector","license":"MIT","licenseText":"(The MIT License)\n\nCopyright (c) 2016 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"name":"picocolors","authors":"Alexey Raspopov","version":"1.1.1","repository":"alexeyraspopov/picocolors","license":"ISC","licenseText":"ISC License\n\nCopyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n"},{"name":"@jridgewell/gen-mapping","authors":"Justin Ridgewell ","version":"0.3.5","repository":"https://github.com/jridgewell/gen-mapping","license":"MIT","licenseText":"Copyright 2022 Justin Ridgewell